数据结构线性表的链式表示和实现(C语言).doc

数据结构线性表的链式表示和实现(C语言).doc

ID:55584531

大小:25.50 KB

页数:7页

时间:2020-05-19

数据结构线性表的链式表示和实现(C语言).doc_第1页
数据结构线性表的链式表示和实现(C语言).doc_第2页
数据结构线性表的链式表示和实现(C语言).doc_第3页
数据结构线性表的链式表示和实现(C语言).doc_第4页
数据结构线性表的链式表示和实现(C语言).doc_第5页
资源描述:

《数据结构线性表的链式表示和实现(C语言).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、/*创建一个链表,实现对链表的创建,插入/追加,删除等操作*/#include#include#include//创建一个结构体typedefstructNode{intdata;structNode*pNext;}NODE,*PNODE;//函数前置声明PNODEcreate_list(void);//创建一个链表voidtraverse_list(PNODE);//遍历整个链表boolis_empty(PNODE);//判断列表是否为空intlength_list(PNODE);//返回链表的长度boolinse

2、rt_list(PNODE,int,int);//在链表中插入元素booldelete_list(PNODE,int,int*);//删除链表中的某个元素,并且返回被删除的元素的值。voidsort_list(PNODE);//对链表进行排序intmain(void){//初始化头指针变量PNODEpHead=NULL;intval;//创建一个链表,将头结点的指针返回,保存到头指针变量中pHead=create_list();//判断这个链表是否为空/*if(is_empty(pHead)){printf("这个链表为空");}else{printf("链表不为空

3、");}*///查看元素的个数printf("该链表元素的个数为:%d",length_list(pHead));//遍历整个链表printf("遍历整个链表:");traverse_list(pHead);//插入元素printf("在第3个元素前插入一个99的值:");insert_list(pHead,3,99);traverse_list(pHead);//对链表进行排序printf("对链表进行升序排序:");sort_list(pHead);traverse_list(pHead);//删除链表中的元素printf("删除第三个位置的值:");delete_

4、list(pHead,3,&val);//遍历这个链表traverse_list(pHead);return0;}/*常见一个链表@paramvoid@returnpHead头指针*/PNODEcreate_list(void){intval;//用于保存用户输入的值inti;//for循环自增变量intdata;//创建头结点PNODEpHead=(PNODE)malloc(sizeof(NODE));if(NULL==pHead){printf("动态内存创建失败");exit(-1);}PNODEpTail=pHead;pTail->pNext=NULL;prin

5、tf("需要创建元素的个数len=");scanf("%d",&val);for(i=0;idata=data;pNew->pNext=NULL;pTail->pNext=pNew;pTail=pNew;}returnpHead;}/*遍历一个链表@paramPNODE头指针@

6、returnvoid*/voidtraverse_list(PNODEpHead){PNODEp;p=pHead;if(is_empty(pHead)){printf("这个链表为空");return;}while(NULL!=p->pNext){p=p->pNext;printf("%d",p->data);}printf("");}/*判断链表是否为空@paramPNODEpHead头指针@returnbool*/boolis_empty(PNODEpHead){if(NULL==pHead->pNext){returntrue;}else{returnfals

7、e;}}/*返回链表的长度@paramPNODEpHead头指针@returninti指针的长度*/intlength_list(PNODEpHead){PNODEp;inti=0;if(is_empty(pHead)){printf("链表为空。");}p=pHead->pNext;while(NULL!=p){++i;p=p->pNext;}returni;}/*对链表进行排序@paramPNODEpHead头指针@returnvoid思路:昨天对数组的排序方法,同样适用于链表,需要对for循环稍微改造一下

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

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

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