单链表找出重复的元素

单链表找出重复的元素

ID:12615249

大小:29.00 KB

页数:8页

时间:2018-07-18

单链表找出重复的元素_第1页
单链表找出重复的元素_第2页
单链表找出重复的元素_第3页
单链表找出重复的元素_第4页
单链表找出重复的元素_第5页
资源描述:

《单链表找出重复的元素》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、单链表找出重复的元素#include"stdio.h"#include"stdlib.h"typedefstructnode{intdata;structnode*next;}Node,*LinkList;//建立新表//voidinit_LinkList(LinkList*head_LinkList){*head_LinkList=0;}//插入一个数(任意一个数)//intinsert_LinkList(LinkList*head_LinkList,intx,inti){LinkListp,q;p=(LinkList)malloc(sizeof(Node));

2、//开辟一个结构体的内存地址//if(p==NULL)return-1;p->data=x;if(i==0){p->next=*head_LinkList;*head_LinkList=p;return1;}else{q=*head_LinkList;while(q->next!=NULL&&i>0){q=q->next;i--;}if(q!=NULL){p->next=q->next;q->next=p;return1;}return-1;}}//删除一个数//intdelete_LinkList(LinkList*head_LinkList,intx){Nod

3、e*p,*q;p=(LinkList)malloc(sizeof(Node));p=*head_LinkList;if(p->data==x)//当p为首地址时//{*head_LinkList=(*head_LinkList)->next;free(p);return1;}else//当p大于首地址时//{q=p;p=p->next;while(p!=NULL){if(p->data==x){q->next=p->next;free(p);return1;}q=p;p=p->next;}return-1;}}//显示重复元素的个数//intch_LinkList

4、(LinkListhead,intx){LinkListp,q;inti=0;p=head;q=p;while(p!=NULL){if(q=p->next)i++;p=p->next;}if(i==0)return-1;elsereturni-1;}//查询一个数//LinkListlocation_LinkList(LinkListhead,intx){LinkListp;p=head;while(p!=NULL){if(p->data==x)break;p=p->next;}returnp;}//遍历表//voidshow_LinkList(LinkListh

5、ead){Node*p;p=head;if(p==NULL)printf("空表");while(p!=NULL){printf("%d",p->data);p=p->next;}}//清空//voidset_LinkList(LinkList*head_LinkList){*head_LinkList=0;}//长度//intlength_LinkList(LinkListhead){Node*p;intsum=0;p=head;while(p!=NULL){sum++;p=p->next;}returnsum;}//主程序//voidmain(){intx

6、,i,j;Node*head;LinkListlocal;init_LinkList(&head);do{printf("");printf("1---插入一个数");printf("2---查询一个数");printf("3---删除一个数");printf("4---显示一个数");printf("5---显示一个重复数的个数");printf("6---长度一个数");printf("7---退出");scanf("%d",&i);switch(i){case1:printf("请输入插入一个数");scanf("%d",

7、&x);printf("请输入你要插入的位置");scanf("%d",&j);if(insert_LinkList(&head,x,j)!=1)printf("插入失败");break;case2:printf("请输入查询一个数");scanf("%d",&x);local=location_LinkList(head,x);if(local!=NULL)printf("查询成功");elseprintf("查询失败");break;case3:printf("请输入删除一个数");scanf("%d",&x);if(delete_Li

8、nkLis

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。