数据结构实验说明书新版.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机系数据结构实验说明书 上机实验是对学生的一种全面综合训练,是和课堂听讲,自学和练习相辅相成的必不可少的一个教学环节,实验着眼于原理和使用的结合。使学生能够利用书上的知识解决实际问题,同时也提高了学生的动手能力,起到了深化理解和灵活掌握教学内容的目的。 实验一:线性表 实验目的:在于帮助学生熟练掌握线性表的基本操作在两种存储结构上的实现,其中以各种链表的操作和使用为重点内容。 实验题目: 1. 顺序表逆置算法.. 2. 单链表的逆置算法. 算法参考答案: 1. 顺序表逆置算法.. -----结构的定义及宏定义---- #define ERROR 0 #define OK 1 #define OVERFLOW -2 #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 typedef int ElemType; typedef struct { ElemType *elem; int length; int listsize; }Sqlist; typedef int Status; -----初始化顺序表---------- Status InitList(Sqlist *L) { L-elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType)); if(!L-elem) exit (OVERFLOW); L-length=0; L-listsize=LIST_INIT_SIZE; return OK; } --------顺序表的插入----------- Status ListInsert_Sq(Sqlist *L,int i,ElemType e) { ElemType *newbase,*q,*p; if (i1||iL-length+1) return ERROR; if (L-length=L-listsize) {newbase=(ElemType *)realloc(L-elem, (L-listsize+LISTINCREMENT)*sizeof(ElemType)); if (!newbase) exit(OVERFLOW); L-elem=newbase; L-listsize+=LISTINCREMENT; } q=(L-elem[i-1]); for(p=(L-elem[L-length-1]);p=q;--p) *(p+1)=*p; *q=e; ++L-length; return OK; } /*---------顺序表的转置-----------------*/ Status rev(Sqlist *L) { } /*顺序表的输出函数*/ void Output(Sqlist *L ) { } /*---------主函数-----------*/ main() { //验证部分 } 2. 单链表的逆置算法. ------结构定义及宏定义------- #include malloc.h #define NULL 0 #define ERROR 0 #define OK 1 typedef int ElemType; typedef int Status; typedef struct LNode {ElemType data; struct LNode *next; }LNode,*LinkList; -------建立单链表----------------- LinkList CreateList_L(int n) { int i; LinkList L,p; L=(LinkList)malloc(sizeof(LNode)); L-next=NULL; for(i=n;i0;--i) {p=(LinkList)malloc(sizeof(LNode)); scanf(%d,p-data); p-next=L-next; L-next=p; } return L; } /*-------单链表的转置函数---------*/ Status rev(LinkList L) { } /*单链表的输出函数*/ void Output(LinkList L) { } /*---------主函数----------*/ main() { //验证部分 } 实验二:栈和队列 实验目的:使学生深入了解栈和队列的特性,以便在实际背景下灵活运用他们,同时还将巩

文档评论(0)

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

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

1亿VIP精品文档

相关文档