- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[其它考试]第6章_结构体
4.删除连表 删除连表的可能性操作有: 删除头元素a0 删除尾元素an-1 删除中间某元素ai 如: head a0 ? a1 ? an null a2 ? ?? ? ? ? (1)若是删除头元素a0,则需要执行的语句是: head=a0-next; (2)若是删除尾元素an-1,则需要执行的语句是: an-next=NULL; (3)若是删除中间某元素ai,则可执行的语句是: ai-1-next=ai-next 如要删除a4元素,则为: a3-next=a4-next; 程序实现为: struct stu *delete(struct stu *head,int del_xh) {struct stu *p1,*p2; p1=head; if(p1==NULL) printf(list table null\n); else if(p1-xh==del_xh) head=p1-next; else { while(p1-xh!=del_xh p1-next!=NULL) { p2=p1; p1=p1-next;} if(p1-xh==del_xh) p2-next=p1-next; else p2-next=NULL;} n--; printf(del_n=%d\n,n); return(head);} main() {struct stu del; printf(creat connect table\n); head=creat(); printf(output connect table\n); print(head); printf(input insert record\n); new=(struct stu *)malloc(sizeof(struct stu)); scanf(%d%s%d,new-xh,new-xm,new-cj); head=insert(head,new); print(head); printf(input delete recored\n); scanf(%d,del.xh); head=delete(head,del.xh); print(head); getchar(); } 运行程序看“JLB1.C” 可输入这样的数据看结果: ① 建立:101 uu 88 102 tt 99 103 ee 77 插入: 104 pp 90 删除:103 ②建立:101 uu 88 102 tt 99 104 ee 77 插入: 103 pp 90 删除:104 ③ 建立:102 uu 88 103 tt 99 104 ee 77 插入: 101 pp 90 删除:102 ④建立:101 uu 88 102 tt 99 105 ee 77 插入: 104 pp 90 删除:101 因此在连表操作中涉及到这样几个函数: ①动态申请1个长度为size的连续空间 p=(struct stu*)malloc(sizeof(struct stu)); ②动态申请n个长度为size的连续空间 p=(struct stu*)calloc(n,sizeof(struct stu)); n为一个整型常数 ③释放p所指向的空间 free(p); 这些函数被包含在:malloc.h或stdlib.h头文件中。 五、复合型数据_共用体 共用体数据类型与结构体有着大同小异的区别。 小异是: (1)定义关键字不同 结构体是struct 共用体是union (2) 成员所占有空间不同 五、复合型数据_共用体 结构体占用的空间是;所有成员占用空间的总和。 共用体是;所有成员占用同一空间。 如:union date {int i; char c;
文档评论(0)