数据结构课程设计53190new.docVIP

  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文档。上传文档
查看更多
数据结构课程设计53190new.doc

目录 设计目的: 3 设计内容: 3 1.猴子选大王 3 2. 建立二叉树,层序、先序遍历 3 3. 各种排序 3 设计过程: 4 内容一: 4 内容二: 5 内容三: 7 心得体会: 10 设计目的: 熟练掌握二叉树的建立和对二叉树进行各种遍历的操作。 运用单链表结构解决实际问题,将理论运用到实践。 掌握几种重要的排序方法。 掌握一些基本的实用的算法。 通过实际运用充分掌握书本上的内容。 设计内容: 1.猴子选大王一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这中文提示按照m个猴子,数n 个数的方法,输出为大王的猴子 建立二叉树,层序、先序遍历 要求能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列;分别建立建立二叉树存储结构的的输入函数、输出层序遍历序列的函数、输出先序遍历序列的函数; 各种排序   任务:用程序实现插入法排序、起泡法改进算法排序; 利用插入排序和冒泡法的改进算法,将用户随机输入的一列数按递增的顺序排好。   输入的数据形式为任何一个正整数,大小不限。   输出的形式:数字大小逐个递增的数列 设计过程: 内容一: #include iostream using namespace std; typedef struct Node //创建结构体 { int num; struct Node *next; }Node,*UsNode; void Usf(int m,int n) //m为猴子数,n为单次循环数 { //创建一个环 UsNode head,p,q,r; head=(Node *)malloc(sizeof(Node)*m); p=head; p-num=1; for(int i=2;i=m;i++){ r=(Node *)malloc(sizeof(Node)); p-next=r; r-num=i; p=r; } p-next=head; q=p; p=head; while(q-next!=q){ for(int i=1;in;i++){ p=p-next; q=q-next; } r=p; p=p-next; q-next=p; free(r); } cout猴子王是q-num号猴子!; } void main(){ int x,y; cout请输入猴子数:; cinx; cout请输入数圈循环周期:; ciny; Usf(x,y); } 概要设计数圈循环周期:4 输出: 猴子王是5号猴子! 内容二: #include iostream #include string #define NUM 100 using namespace std; int NodeNum; typedef struct node{ char data; struct node *lchild,*rchild; }BinTNode,*BinTree; //自定义二叉树的结点类型 BinTree CreatBinTree(void) //先序序列建立二叉树 { BinTree T; char ch; if((ch=getchar())== ) return(NULL); //以空格作为续接点标志 else{ T=(BinTNode *)malloc(sizeof(BinTNode)); //生成结点 T-data=ch; T-lchild=CreatBinTree(); //构造左子树 T-rchild=CreatBinTree(); //构造右子树 return(T); } } void Pre(BinTree T) //先序遍历 { if(T) { printf(%c,T-data); Pre(T-lchild); //先序遍历左子树 Pre(T-rchild); //先序遍历右子树 } } void ceng(BinTree T) { int front=0,rear=1; BinTree Line[NUM],p; //定义结点的指针数组Line Line[0]=T; //根入队 while(frontrear) //判断队列中是否还有内容,有就输出 { if(Line[front]) coutLine[front]-data; i

文档评论(0)

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

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档