- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
链表的操作LOGO链表的基本操作(建立、输出、插入新结点、删除结点)Teacher teaching design
CONTENTS 目 录链表的创建链表的结点插入链表的结点删除链表的输出
创建单向链表PART 01
定义链表的数据结构。创建一个空表将新结点的指针成员赋值为空。若是空表,将新结点连接到表头;若是非空表,将新结点接到表尾。判断一下是否有后续结点要接入链表,若有转到3 ),否则结束。12344创建单向链表利用malloc( )函数向系统申请分配一个结点。5
分两步走一是先把头指针head赋值给新结点的指针成员,让新结点成为第一个结点;再把新结点的地址赋给头指针head成为链表的第一个结点。链首入链方式是将新结点的地址赋值给最后一个结点的指针成员,因此设置一个尾指针rear指针链表的最后一个结点,为新结点作准备。将新结点入链后,新结点成为最后一个结点,不断更新尾指针的指向,让rear指向新入链的结点。链尾入链创建单向链表
建立一条单向链表并输出各结点的值,链表除了有一个指针成员之外,只有一个整型成员,数据由用户输入。(采用链首入链的方式)添加标题内容struct number{ int n; struct number *next; }; /*定义链表的数据结构*/#define LEN sizeof(struct number) /*宏定义*/struct number *creat() /*建立链表函数*/{ struct number *head,*p;/*定义指向链表的指针变量*/ int a;char ch; head=NULL;printf(“是否输入结点的数据?(Y/N)”); while(toupper(ch=getche())==’Y’)/*循环一次,连接一个结点*/ { p=(struct number *)malloc(LEN);/*分配新结点单元*/ printf(“\n输入”); scanf(“%d”,p-n); p-next=head; /*新结点指向原来的首结点*/ head=p; /*新结点成为新的首结点*/ printf(“是否继续输入结点的数据?(Y/N)”);}return (head);}创建单向链表
struct node /*链表节点的结构* /{ int num; struct node *next; } ;struct node *creat(struct node *head) /*函数返回的是与结点相同类型的指针*/{struct node *p1,*p2;p1=p2=(struct node*) malloc(sizeof(struct node)); /*申请新结点*/scanf(%d,p1-num) ; / * 输入结点的值* /p1-next=NULL; / * 将新结点的指针置为空* /while(p1-num0) / * 输入节点的数值大于0 * /{if (head==NULL) head=p1; / * 空表,接入表头* /else p2-next=p1; / * 非空表,接到表尾* /p2 = p1 ;p1=(struct node *)malloc(sizeof(struct node)); 申/请* 下一个新节点*/scanf(%d,p1-num); / *输入结点的值* /}return head; /*返回链表的头指针* /}创建一个存放正整数(输入-999做结束标志)的单链表在链表的创建过程中,链表的头指针是非常重要的参数。因为对链表的输出和查找都要从链表的头开始,所以链表创建成功后,要返回一个链表头结点的地址,即头指针。
采用链尾入链的方式struct number *creat(){ struct number *head,*p,*rear; int count=0; char ch; head=NULL;reat=NULL;printf(“是否输入结点的数据?(Y/N)”);while(toupper(ch=getche())==’Y’)/*循环一次,连接一个结点*/ { p=(struct number *)malloc(LEN);/*分配新结点单元*/ printf(“\n输入”); scanf(“%d”,p-n); p-next=NULL; if(count==0) { head=p; rear=p} else{ rear-next=p; rear=p;} count++;printf(“是否继续输入结点的数据?(Y/N)”);}return head;}
链表的插入P
您可能关注的文档
- C语言程序设计案例教程-刘小华-1.4 数据的输入函数.pptx
- C语言程序设计案例教程-刘小华-2.1 数据类型概述.pptx
- C语言程序设计案例教程-刘小华-2.2 整型数据.pptx
- C语言程序设计案例教程-刘小华-2.3 实型数据.pptx
- C语言程序设计案例教程-刘小华-3.2算术运算符与表达式.pptx
- C语言程序设计案例教程-刘小华-3.3关系运算符与表达式逻辑运算符与表达式.pptx
- C语言程序设计案例教程-刘小华-3.4赋值运算符与表达式.pptx
- C语言程序设计案例教程-刘小华-3.6位运算符与位运算.pptx
- C语言程序设计案例教程-刘小华-4.1格式化输出函数.pptx
- C语言程序设计案例教程-刘小华-4.2格式化输入函数.pptx
文档评论(0)