实验二 单链表的操作与应用.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二 单链表的操作与应用

PAGE \* MERGEFORMAT7 南京信息工程大学 实验(实习)报告 实验(实习)名称 单链表的操作与应用 实验日期 2012/11/2 得分 指导教师 吴婷婷 系 计算机与软件学院 专业 网络工程 年级 2011 班次 1 姓名 管超 学号 20111346032 单链表的操作与应用 实验目的 掌握线性表的单链表基本操作:建立、插入、删除、查找、合并、打印等运算。 实验准备 奔腾2计算机或以上机型 Visual C++ 6.0 实验内容 百货公司库中有一批电视机,按某价格从低到高的次序构成了一个单链表并存于计算机中,链表的每一个结点指出同样价格的若干台。现在又有新到的m台价格为h元的电视机入库。编写仓库电视机链表增加电视机的算法。 结点结构的定义为: typedef struct node { int number, price; struct node *next; }list; 实验代码 #includestdio.h #includeconio.h #includestdlib.h typedef struct node { int number; int price; struct node *next; }List; //初始化链表 List* Init_func(List L) { List *head; head = (List *)malloc(sizeof(List)); if (head == NULL) { printf(无法分配空间!\n); exit(0); } else { head-next = NULL; } return head; } //初始化数据 void InitData_func(List *head) { List *ptr, *previous, *current; ptr = (List *)malloc(sizeof(List)); if (ptr == NULL) { printf(无法分配空间!); exit(0); } else { printf(\n请输入电视的价格: ); scanf(%d, (ptr-price)); printf(请输入库存电视台数: ); scanf(%d, (ptr-number)); } previous = head; current = head-next; while ((current != NULL) (current-price ptr-price)) { previous = current; current = current-next; } previous-next = ptr; ptr-next = current; } //添加一个数据并进行整合 void Insert_func(List *head) { List *ptr, *previous, *current; int price, number; printf(\n请输入电视的价格: ); scanf(%d, price); printf(请输入电视的台数: ); scanf(%d, number); previous = head; current = head-next; if (current == NULL) { printf(\n库存中无电视, 正在为您添加数据...\n); ptr = (List *)malloc(sizeof(List)); if (ptr == NULL) { printf(无法分配空间!\n); exit(0); } else { ptr-price = price; ptr-number = number; } previous-next = ptr; ptr-next = current; printf(数据添加成功!\n); } else { while ((current != NULL) (current-price = price)) { previous = current; current = current-next; } if (previous-price == price) { printf(\n库存中有此价格电视, 正在为您归并...\n); previous-number += number; printf(数据归并成功!\n); } else { printf(\n库存

文档评论(0)

kaiss + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档