链表知识技巧
来源:互联网 发布:js字符串特殊字符转义 编辑:程序博客网 时间:2024/05/19 18:11
一、创建单向链表,链表的每个结点有一个数据元素。从键盘输入若干个非零整数作为结点的数据元素
分析:
1.为简化链表操作中对表中有结点的情况处理,一般会在链表中在链表中增加一个结点,作为链表的第一结点,但该结点不放数据元素,特称之为头结点。
2.建立一个有头结点的单向链表,采用每次在链表的尾部增加一个结点的方式,将所有的结点链接起来。由于新结点是添加在单向链表的尾部,故需要设置一个指向表尾的指针变量q,且填添加一个新结点就要更新此新指针。
# include <stdio.h># include <stdlib.h># include <malloc.h>struct Lnode{ int data; struct Lnode*next;}*p,*q,*head; //*p为跟踪表的指针,q为指向新结点的指针,head是指向头结点的指针main(){ int temp; head=(struct Lnode*)malloc(sizeof(struct Lnode)); if(head==NULL) { printf("memonry allocating error!"); exit(0); } head->next=NULL; p=head; printf("input a integer:"); scanf("%d",&temp); while(temp!=0) { q=(struct Lnode*)malloc(sizeof(struct Lnode)); if(q=NULL) { printf("memory allocating error!"); exit(0); } q->data=temp; q->next=NULL; p->next=q; p=q; printf("input a integer:"); scanf("%d",&temp); } return 0;}
如果链表数据的顺序正好与输入的顺序一致,则可以把新结点添加在链表的头部,这样就不需要跟踪表尾指针,新建链表的效率更高。
代码如下:
# include <stdio.h># include <stdlib.h># include <malloc.h>struct Lnode{ int data; struct Lnode*next;}*p,*q,*head; //*p为跟踪表的指针,q为指向新结点的指针,head是指向头结点的指针main(){ int temp; head=(struct Lnode*)malloc(sizeof(struct Lnode)); if(head==NULL) { printf("memonry allocating error!"); exit(0); } head->next=NULL; p=head; printf("input a integer:"); scanf("%d",&temp); while(temp!=0) { q=(struct Lnode*)malloc(sizeof(struct Lnode)); if(q=NULL) { printf("memory allocating error!"); exit(0); } q->data=temp; q->next=head->next; head->next=q; printf("input a integer:"); scanf("%d",&temp); } return 0;}
阅读全文
0 0
- 链表知识技巧
- 一些技巧和知识
- 模板技巧知识
- 股票交易技巧知识
- 十个SEO技巧知识
- 电脑操作技巧知识
- 技巧与知识
- cocos2d 知识和技巧
- NSIS知识技巧
- 小技巧,小知识
- Java 知识小技巧
- 刘克峰:知识,技巧与想象力
- vc知识和技巧(一)
- 注册表知识和技巧大全
- 注册表知识与技巧大全
- MFC技巧和小知识
- 注册表知识与技巧大全
- 注册表知识and技巧大全
- ssl协议,openssl,创建私有CA
- VS2010中使用sprintf出现warning C4997: 'sprintf': This function or variable may be unsafe.
- 【Scikit-Learn 中文文档】随机梯度下降
- js判断浏览器的关闭标签动作和刷新的事件
- JS使用canvas给图片打马赛克
- 链表知识技巧
- 局域网中的几大分类,包含以太网,FDDI网,令牌环网,ATM网
- APACHE
- css3
- js基本知识点总结-----js流程语句
- ARM指令状态切换到Thumb指令状态
- 【Scikit-Learn 中文文档】支持向量机
- mysql 解决无法存放表情
- MDK开发环境STM32启动文件_main函数分析