网站大量收购独家精品文档,联系QQ:2885784924

定义结构变量例struct student.PPT

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
定义结构变量例struct student

11.2 定义结构体类型变量的方法 #includestdio.h #includemalloc.h #define LEN sizeof(struct student) struct student {long num; float score; struct student *next;}; struct student *creat(void) /*一个返回链表指针的函数*/ { struct student *head, *p1, *p2; int n=0; p1=p2=(struct student*)malloc(LEN); scanf(%ld%f,p1-num,p1-score); head=NULL; while(p1-num!=0) {n++; if(n= =1) head=p1; else p2-next=p1; p2=p1; p1=(struct student*)malloc(LEN); scanf(%ld%f,p1-num,p1-score); } p2-next=NULL; return(head);} 11.7.5 输出链表   用结构体指针变量p指向其第一个结点,输出该结点的数 据,然后将其指向下一个结点,方法是:p=p-next,当p为 NULL时结束。 void print(struct student *head) {struct student *p; p=head; if(head!=NULL) do {printf(%ld %5.1f\n,p-num,p-score); p=p-next;}while(p!=NULL); } 11.7.6 对链表进行删除操作(删除学号为已知值的结点) 算法设计: 1 寻找要删除的结点, 2 删除结点。 99101 NULL 99107 99103 99101 99103 NULL 99107 head 要删除的结点为第一个结点 head 99101 NULL 99107 99103 99101 99103 NULL 99107 head 要删除的结点为中间结点 head p1 p2 p2-next=p1-next 1 寻找要删除的结点, while(p1-next!=NULLp1-num!=num) {p2=p1;p1=p1-next;} 2 删除结点。(p1为要删除的结点,p2为要删除的结点的前一个结点。)   if  要删除的结点为首结点,则只须修改head   else p2-next=p1-next; struct student *del(struct student *head,long num) {struct student *p1,*p2; if(head= =NULL) return head; p1=head; while(p1-next!=NULLp1-num!=num) {p2=p1;p1=p1-next;} if(num= =p1-num) { if(p1= =head) head=p1-next; else p2-next=p1-next; } return head; } 11.7.7对链表的插入操作   使一个有序链表在插入后仍为有序链表 算法设计: 1,对空表的插入 2,查找插入点 3,插入 3.1 插入为头结点 3.2 插入为中间结点 3.3 插入为最后一个结点 插入为头结点 p0指向要插入的结点,将p0插入到p1 之前 head A B C NULL D e head=p0; p0-next=p1; ai-1 e ai ai-1 插入为中间结点 p0指向要插入的结点,将p0插入到p2之后p1之前 p0 p2 p1 p0-next=p2-next p2-next=p0; 插入为最后一个结点 p0指向要插入的结点,将p0插入到p1之后 ai-1 e ai-1 p0 p2 p1-next=p0; p0-next=NULL; * 第11章结构体与共用体 11.1 概述 11.2 定义结构体类型变量的方法 11.3 结构体变量的引用 11.4 结构体变量的初始化 11.5 结构体数组 11.6 指向结构体类型数据的指针 11.7 用指针处理链表 11.8 共用体 11.9 枚举类型 11.10 用typedef定义类型 (1)掌握结构体和共用体类型的说明、结构体和共用体变量的定义及初始化方法 (2)掌握结构体与共用体成员

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档