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

C语言 建立 输出 插入 删除 修改功能的单项动态链表.doc

C语言 建立 输出 插入 删除 修改功能的单项动态链表.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言链表类题目 写函数一个有三名学生数据的, 有建立 输出 插入 删除 修改功能的单项动态链表,很全面,各种测试都试过了,环境VC6.0 结构体为学号 成绩 #include stdio.h #include string.h #include malloc.h struct Student { long num; float score; struct Student* next; struct Student *pre; }; int n=0; struct Student* create(void) { struct Student *head; struct Student *tail; struct Student *pre; struct Student *p; head = NULL; pre = NULL; p=(struct Student*)malloc(sizeof(struct Student)); printf(请输入用户名和得分:\n); scanf(%ld %f,p-num,p-score); if (0 == p-num) { return NULL; } while(0 != p-num) { n++; if (NULL == head) { head=p; tail=p; pre = NULL; tail-next = NULL; } else { pre = tail; tail-next=p; tail=p; } p=(struct Student*)malloc(sizeof(struct Student)); printf(请输入用户名和得分:\n); scanf(%ld%f,p-num,p-score); } if (NULL != pre) { tail-next=NULL; } return head; } void print(struct Student *head) { struct Student *p=head; if (NULL == p) { printf(该链表中还没有数据\n); } while (p !=NULL) { printf(%ld\t%.3f\n,p-num,p-score); p=p-next; } } struct Student *del(struct Student *head, long num) { struct Student *p1 = head; struct Student *p2 = head; if (NULL == head) { return NULL; } if (NULL == head-next) { if (num == head-num) { n--; return NULL; } else { return head; } } if (num == head-num) { n--; head=head-next; return head; } if (NULL == head-next-next) { if (num == head-next-num) { n--; head-next = NULL; return head; } } p1 = head-next; while (p1!=NULL) { if (num == p1-num) { n--; if (NULL == p1-next) { p2-next = NULL; } else { p2-next = p1-next; } } p1 = p1-next; p2 = p2-next; } return head; } struct Student *alter(struct Student *head, long num, float score) { struct Student *p = head; while (p!=NULL) { if (num == p-num) { p-score = score; } p = p-next; } return head; } struct Student *insert(struct Student *head, long num, float sco

文档评论(0)

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

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

1亿VIP精品文档

相关文档