北京 理工大学 C语言 程序设计 第十章结构联合与枚举类型3_第1页
北京 理工大学 C语言 程序设计 第十章结构联合与枚举类型3_第2页
北京 理工大学 C语言 程序设计 第十章结构联合与枚举类型3_第3页
北京 理工大学 C语言 程序设计 第十章结构联合与枚举类型3_第4页
北京 理工大学 C语言 程序设计 第十章结构联合与枚举类型3_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用链表处理不定长数组。什么是链表?结构定义:

structstudent{intnum;floatscore;

structstudent

*

next;};

链表的分类单向链表、双向链表等。一、链表概述8910189.5ffcdff028910390fffd……ffcd8910785NULL……fffd第八节链表根底动态存储分配函数原型:void*malloc(intsize)头文件:stdlib.h。功能:分配size个字节的存储区。返回值:分配成功,所分配区域的首返回地址。分配失败,返回0。例如:

structstudent*ps;ps=(structstudent*)malloc(sizeof(structstudent));

释放内存函数原型:voidfree(void*p)头文件:stdlib.h。功能:释放p所指向的内存空间。返回值:无。例如:前面说明结构指针ps,为其分配了内存,释放内存,那么写:free(ps);创立链表的过程:按照结构的大小分配一块内存区域。将该区域的首地址赋给一个头指针。继续分配一块内存区域。将该区域的首地址分配给前一个结点的结点指针变量。继续上述过程,直到链表的尾。二、创立链表

ps

f1aa

8019189.5NULL8910785NULL8910380NULLps=(structstudent

*)malloc(sizeof(structstudent))scanf(“%ld,%f〞,&ps->num,&ps->score);ps->next=NULL;p1=(structstudent*)malloc(sizeof(structstudent))p1ffe4ps->next=p1ffe4ff4d例C11_701headp1p2n=0headp1p2n=1p1n=2p2p1n=3p2NULL例C11_701ap1=p2=(structstudent*)malloc(sizeof(structstudent))head=NULLp2->next=p1structstudent*creat(){……do{scanf("%ld,%d",&num,&a);if(num!=0){if(head==NULL)head=tail; elsetail=tail->next; tail->num=num;tail->score=a; tail->next=(structstudent*)malloc(LEN);}elsetail->next=NULL;}while(num!=0);return(head);}{if(head==NULL)head=tail;elsetail=tail->next;tail->num=num;tail->score=a;

tail->next=(structstudent*)malloc(LEN);}headtail

从头结点开始,到尾结点结束。尾结点的特征:其指向为空。三、输出一个链表删除一个结点,既让上一个结点指向下一个结点。三、在链表中删除一个节点f1aa

8019189.5ffe48910785NULL8910380ff4d头指针

ps(ps-1)->next=ps->next8019189.5ffe4ff4d插入一个结点,既插入处前一个结点,指向新结点,新结点指向一个结点。四、在链表中插入一个节点f1aa

8019189.5ffe48910785NULL

头指针ff4d8910380ff4d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论