预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

/*单链表的各种操作*/ #include<stdio。h〉 #include<malloc.h〉 #definenull0 typedefintElemType;/*字符型数据*/ structLNode { ElemTypedata; structLNode*next; }; voidsetnull(structLNode**p); intlength(structLNode**p); ElemTypeget(structLNode**p,inti); voidinsert(structLNode**p,ElemTypex,inti); voiddele(structLNode**p,inti); voiddisplay(structLNode**p); intlocate(structLNode**p,ElemTypex); voidmain() { structLNode*head,*q;/*定义静态变量*/ intselect,x1,x2,x3,x4; inti,n; intm,g; chare,y; setnull(&head);/*建设链表并设置为空表*/ printf(”请输入数据长度:”); scanf(”%d”,&n); for(i=1;i<=n;i++) { printf("将数据插入到单链表中:"); scanf("%d",&y); insert(&head,y,i); }/*插入数据到链表*/ display(&head); /*显示链表所有数据*/ printf(”select1求长度length()\n”); printf(”select2取结点get()\n”); printf(”select3求值查找locate()\n”); printf(”select4删除结点delete()\n”); printf(”select0退出\n”); printf(”inputyourselect:”); scanf("%d”,&select); while(select!=0) {switch(select) { case1: { x1=length(&head); printf(”输出单链表的长度%d”,x1); display(&head); }break; case2: { printf("请输入要取得结点:”); scanf(”%d”,&m); x2=get(&head,m); printf(”%d",x2); display(&head); }break; case3: { printf(”请输入要查找的数据:”); scanf(”%d”,&e); x3=locate(&head,e); printf(”%d”,x3); display(&head); }break; case4: { printf(”请输入要删除的结点:"); scanf("%d”,&g); dele(&head,g); display(&head); }break; } printf("select1求长度length()\n”); printf(”select2取结点get()\n”); printf(”select3求值查找locate()\n"); printf("select4删除结点delete()\n”); printf(”select0退出\n"); printf(”inputyourselect:”); scanf("%d”,&select); } } voidsetnull(structLNode**p) { *p=null; } intlength(structLNode**p) { intn=0; structLNode*q=*p; while(q!=null) { n++; q=q—>next; } return(n); } ElemTypeget(structLNode**p,inti) { intj=1; structLNode*q=*p; while(j〈i&&q!=null) { q=q—〉next; j++; } if(q!=null) return(q—〉data); else {printf("位置参数不正确!\n"); return0;} } intlocate(structLNode**p,ElemTypex) { intn=0; str