ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:374.10KB ,
资源ID:23470985      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23470985.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构实验.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构实验.docx

1、数据结构实验数据结构实验计科0902200900 实验一线性表例题:#define NULL 0typedef struct node char a; struct node *link;node,*nodelink;void readlink(nodelink head) nodelink p,q; char c; p=head;printf(“Input a linktable(a string):”); scanf(“%c”,&c); if(c=n) printf(“This string is empty.”); while(c!=n) q=(nodelink)malloc(sizeo

2、f(node); q-a=c; p-link=q; p=q; scanf(“%c”,&c); p-link=NULL;voild writelink(nodelink head) nodelink q; if(head-link=NULL) printf(“This link is empty.n”); for(q=head-link;q;q=q-link) printf(“%c”,q-a); printf(“n”); Int insert(nodelink head,char k1,char k2) nodelink p,q; p=head-link; while(p-a!=k1&p) p=

3、p-link; if(p) q=(nodelink)malloc(sizeof(node); q-a=k2; q-link=p-link; p-link=q; return 1; else printf(“There is no %cn”,k1); return 0; int delete(nodelink head,char k) nodelink p,q; q=head; p=head-link; while(p-a)&p) q=q-link; p=p-link; If(p) q=link=p-link; return 1; elseprintf(“There is no %cn”,k);

4、return 0; void opside(nodelink head) nodelink p,q; p=head-link; while(p-link) q=p-link; p-link=q-link; q-link=head-link; head-link=q; main() char k1,k2,k3; nodelink head; head=(nodelink)malloc(sizeof(node); head-link=NULL; readlink(head); if(head-link!=NULL) printf(“Build link is :”); writelink(head

5、); if(head-link!=NULL) printf(“Please input a char you want to insert after:”); k1=getch(); printf(“%cn”,k1); printf(“Please input a char you want to insert:”); k2=get(); printf(“%cn”,k2); if(insert(head,k1,k2) printf(“After %c insert %c,link is:”,k1,k2); writelink(head); printf(“Please input a char

6、 you want to delete:”); k3=getch(); printf(“%cn”,k3); if(delete(head,k3) printf(“after delete %c,link is:”,k3); writelink(head); If(head-link!=NULL) printf(“Opsite result is :”); opsite(head); writelink(head); free(head); 习题1:#include stdio.h#include malloc.h#include conio.htypedef struct node char

7、a; struct node *link;node,*nodelink;void readlink(nodelink head) nodelink p,q; char c; p=head; printf(请输入顺序表中的递增有序元素:); scanf(%c,&c); if(c=n) printf(顺序表为空nn); while(c!=n) q=(nodelink)malloc(sizeof(node); q-a=c; p-link=q; p=q; scanf(%c,&c); p-link=0;int add(nodelink head) nodelink p; p=head; if(p-lin

8、k=0) return 0; while(p-link!=0) if(p-a p-link-a) printf(输入有误请重新输入nn); return 0; p=p-link; return 1;void insert(nodelink head,char x) nodelink p,q,m; int i=0; p=head; q=(nodelink)malloc(sizeof(node); q-a=x; m=p; while(p-link!=0) if(p-a = x) q-link=m-link; m-link=q;i=1; break; m=p; p=p-link; if(i=0) p

9、-link=q; q-link=0; int main()loop: nodelink head; nodelink p; char x,z; head=(nodelink)malloc(sizeof(node); head-link=0; readlink(head); while(add(head)=0) readlink(head); printf(您输入的顺序表为:); for(p=head-link;p!=0;p=p-link) printf(%c,p-a); printf(n请输入您要插入的字符:); x=getchar(); insert(head,x); printf(插入%c

10、后的顺序表为:,x); for(p=head-link;p!=0;p=p-link) printf(%c,p-a); printf(nn); scanf(%c,&z); goto loop;习题3:#include #include typedef struct node node;typedef struct node *p_node;struct node int element; p_node next;void Initial(int n,p_node T);p_node Search(int m,p_node pos);void MainBody(int m,int s,p_node

11、 T); main() int n,m,s; char c; p_node T=(p_node)malloc(sizeof(node); printf(请输入n,m,s:); scanf(%d %d %d,&n,&m,&s); if (s=1&m=1) for (int i=1;i=n;i+) printf(%d ,i); else Initial(n,T); MainBody(m,s,T); printf(n); free(T); getchar(); getchar();void Initial(int n,p_node T) p_node p=T; for (int i=1;ieleme

12、nt=i; p-next=q; p=q; p-next=T-next;void MainBody(int m,int s,p_node T) p_node head=T; head=Search(s,head); while (head!=head-next) p_node p; head=Search(m,head); p=head-next; head-next=p-next; printf(%d ,p-element); free(p); printf(%d ,head-element); free(head);p_node Search(int m,p_node pos) for (i

13、nt i=1;inext; return pos;实验二树例题:#include#include struct node char info; struct node *llink,*rlink; ;typedef struct node NODE;NODE *creat() char x; NODE *p; scanf(%c,&x); printf(%c,x); if(x!=.) p=(NODE *)malloc(sizeof(NODE); p-info=x; p-llink=creat(); p-rlink=creat(); else p=NULL; return p;void run(N

14、ODE *t) if(t) run(t-llink); run(t-rlink); printf(%c,t-info); main() NODE *T; printf(Please input a tree:n); T=creat(); printf(n); if(!T) printf(This is a empty binary tree.); else printf(The result of post travese is:n); run(T); printf(n);课后题1:#define NULL 0 #include#include#includetypedef struct Bi

15、Node char data; struct BiNode *lchild,*rchild; BiNode,*BiTree; int createBiTree(BiTree &T) char ch; scanf(%c,&ch); if(ch=.) T=NULL; elseT=(BiTree)malloc(sizeof(BiNode); T-data=ch; createBiTree(T-lchild); createBiTree(T-rchild); return(1);int leafcount(BiTree &T)if(!T) return(0); else if(!T-lchild&!T

16、-rchild) return(1) ; else return(leafcount(T-lchild)+leafcount(T-rchild); main()printf(Build a tree as RLD plain sequencen:); BiTree T; T=(BiTree)malloc(sizeof(BiNode); if(createBiTree(T) int a; a=leafcount(T);printf(nThe amount of leaf is %d。,a); system(pause);课后题2:#define NULL 0 #include#include#i

17、ncludetypedef struct BiNode char data; struct BiNode *lchild,*rchild; BiNode,*BiTree; int c,k; int createBiTree(BiTree &T) char ch; scanf(%c,&ch); if(ch=.) T=NULL; elseT=(BiTree)malloc(sizeof(BiNode); T-data=ch; createBiTree(T-lchild); createBiTree(T-rchild); return(1);void getnode(BiTree &T)if(T) c

18、+; if(c=k)printf(nnode is %cn,T-data); else getnode(T-lchild); getnode(T-rchild); main()printf(Build a tree as RLD plain sequencen:); BiTree T; T=(BiTree)malloc(sizeof(BiNode); createBiTree(T);c=0;printf(please input a number:); scanf(%d,&k); printf(nGet the RLD plain sequence %dth node。,k); getnode

19、(T); system(pause);实验三图例题:#includeint number;typedef struct int q20; int f,r;queue;int nodelist2020;queue Q;int z20; int a,b,n,i,j,x,y; int finished;void enq(queue *Q,int x) Q-qQ-r=x; if(Q-r=19) Q-r=0; else Q-r+; if(Q-r=Q-f) printf(Overflow!n);front(queue *Q) if(Q-r=Q-f) printf(Underflow!n); else re

20、turn(Q-qQ-f);void deq(queue *Q) if(Q-r=Q-f) printf(Underflow!n); else if(Q-f=19) Q-f=0; else Q-f+; int qempty(queue Q) if(Q.f=Q.r) return 1; else return 0;void readgraph() printf(nPlease input n:); scanf(%d,&n); printf(Please input nodelistij:n); for(i=1;i-n;i+) for(j=1;j=n;j+) scanf(%d,&nodelistij)

21、; printf(n); printf(List-link is bulitn); for(i=1;i=n;i+) for(j=1;j=n;j+) printf(%3d,nodelistij); printf(n); void shortest(int a,int b) if(a=b) nodelistaa=2; else enq(&Q,a); nodelistaa=2; finished=0; while(!qempty(Q)&!finished) a=front(&Q); deq(&Q); j=1; while(j=n)&!finished) if(nodelistaj=1)&(nodel

22、istjj!=2) enq(&Q,j); nodelistjj=2; zj=a; if(j=b) finished=1; if(!finished) j+; if(!finished) printf(There is no path.); void writepath(int a,int b) i=b; while(i!=a) printf(%dnextarc=NULL;if(y=n)return;elsex=(int)y-48;ArcNode *t;t=new ArcNode;t-nextarc=NULL;t-in=0;t-adjvex=x;firstarc-nextarc=t;read(f

23、irstarc-nextarc);void mkgraph(ALGraph *graph)char rub;ArcNode *t;VNode *list;scanf(%c,&rub);for(;sverticess.firstarc=t;read(graph-verticess.firstarc);void run(ArcNode *firstarc)ArcNode *t;t=firstarc;if(t-adjvex=j)m=1;return;if(t-in=0&m=0&t-adjvex0&t-adjvexverticest-adjvex.firstarc-nextarc!=NULL)t-in

24、=1;run(graph-verticest-adjvex.firstarc-nextarc);if(m=0&t-nextarc!=NULL)run(t-nextarc);int main()graph=new ALGraph;printf(顶点树:);scanf(%d,&n);printf(以邻接表方式依次输入各顶点的关系:n);mkgraph(graph);printf(已生成图.nn请输入要寻找路径的起点i和终点j(i!=j):);scanf(%d%d,&i,&j);while(i=j|in|jn)printf(对不起,输入有误,请重新输入:);scanf(%d%d,&i,&j);run(graph-verticesi.firstarc-nextarc);if(m=1)printf

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1