ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:20.11KB ,
资源ID:7645356      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7645356.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++所有的实验程序.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++所有的实验程序.docx

1、C+所有的实验程序实验二:#include#include#define maxlen 50typedef struct int datamaxlen; int last;Sequenlist;Sequenlist *SqLset() Sequenlist *L; int i; L=(Sequenlist*)malloc(sizeof(Sequenlist); L-last=-1; printf(请输入不超过50的表长:n); scanf(%d,&i); if(i0) printf(输入数据:n); for(L-last=0;L-lastlast+) scanf(%d,&L-dataL-las

2、t); return L;void maxmin(Sequenlist *L) int min,max,i; if(L-last=0) max=min=L-data0; for(i=1;ilast-1;i+) if(minL-datai) min=L-datai; if(maxdatai) max=L-datai; printf(max=%d,min=%dn,max,min); void main() Sequenlist *A; A=SqLset(); maxmin(A);实验三顺序查询:#include#include#define Max 40typedef struct int dat

3、aMax; int last;squenlist;void research(squenlist*L) int i,a,chioce; do printf(0:退出;n1:继续查找;n); scanf(%d,&chioce); if(chioce=1) printf(请输入要查找的元素:n); scanf(%d,&a); L-dataL-last+1=a; for(i=0;ilast+1;i+) if(L-datai=a) break; if(i=L-last+1) printf(无该元素,查找失败!n); else printf(该元素的位置是: %d,i); printf(n); if(c

4、hioce!=1&chioce!=0) printf(选择有误,请重新选择!n); while(chioce!=0);void main() squenlist *L; int i,n; if(L=(squenlist*)malloc(sizeof(squenlist)=NULL) printf(申请失败!n); exit(1); printf(长度不超过39,请选择长度n:n); scanf(%d,&n); L-last=n-1; printf(请输入一组长度为n的递增数:n); for(i=0;idatai); while(i=1) if(L-datai-1L-datai) printf(

5、输入有误,请重新输入:n); i=-1; break; else break; printf(该顺序表元素是:n); for(i=0;ilast;i+) printf(%dt,L-datai); printf(n); research(L);实验四 奇偶排序:#include#include#define MAX 60typedef struct int dataMAX+1; int length;sqelist;void odd(sqelist *L) /奇排序函数; int i,j; for(i=0;ilength;i+) for(j=0;jlength-i-1;j+) if(L-data

6、j%2=1) if(L-datajL-dataj+1) L-dataL-length=L-dataj+1; L-dataj+1=L-dataj; L-dataj=L-dataL-length; void even(sqelist *L) /偶排序函数; int i,j; for(i=0;ilength;i+) for(j=0;jlength-i-1;j+) if(L-dataj%2=0) if(L-datajL-dataj+1) L-dataL-length=L-dataj+1; L-dataj+1=L-dataj; L-dataj=L-dataL-length; void bubble(sq

7、elist *L) /奇偶排序调用函数; int i; for(i=0;ilength;i+) if(L-dataiL-datai+1) odd(L); even(L); sqelist *input() /输入; int i,n; sqelist *H; H=(sqelist *)malloc(sizeof(sqelist); printf(请输入要输入元素的个数:n); scanf(%d,&n); H-length=n; printf(请输入%d个元素:n,n); for(i=0;idatai); return H;void putout(sqelist *L) /输出; int i; p

8、rintf(按奇偶排序后的顺序是:n); for(i=0;ilength;i+) printf(%d ,L-datai); printf(n);void main() sqelist *L; L=input(); bubble(L); putout(L);实验五-在非递减有序链表中插入元素并且顺序不变#include#includetypedef struct node int data; struct node *next;Linklist;Linklist *createlist() /新建链表函数; Linklist *H,*S,*R,*P; int i,n,m; H=(Linklist

9、*)malloc(sizeof(Linklist); H-next=NULL; S=H; printf(请输入新建非空链表的长度:); scanf(%d,&n); H-data=n; /记录新链表长度; printf(请输入一组长度为%d的递增数:n,n); for(i=0;idata=m; R-next=NULL; S-next=R; P=S; S=R; while(i=1) if(P-dataR-data) printf(输入有误,请从此处重新输入:n); i-; P-next=NULL; S=P; free(R); break; else break; return H;void ins

10、ertlist(Linklist*L) /插入元素的值; Linklist *P,*S,*R; int n; printf(请输入要插入元素的值:); scanf(%d,&n); P=L; while(P!=NULL) R=P; P=P-next; if(P!=NULL&ndata) S=(Linklist*)malloc(sizeof(Linklist); S-data=n; S-next=P; R-next=S; break; if(P=NULL) S=(Linklist*)malloc(sizeof(Linklist); S-data=n; S-next=NULL; R-next=S;

11、void putout(Linklist *L) /输出函数; Linklist *P; P=L-next; printf(该链表是:n); while(P!=NULL) printf(%d ,P-data); P=P-next; printf(n);void main() Linklist *L=NULL; int n; do printf(0:退出;1:新建链表;2:插入元素;3:输出链表!n请选择:); scanf(%d,&n); switch(n) case 1: L=createlist(); printf(n); break; case 2: if(L!=NULL) insertl

12、ist(L); else printf(链表为空!); printf(n); break; case 3: if(L!=NULL) putout(L); printf(n); else printf(链表为空!); printf(n); break; default:break; while(n!=0); printf(n);实验七(单向循环链表表示队列)#include#includetypedef struct node int data; struct node *next;squelink;int stempty(squelink *L) /判队空; squelink *P; P=L-

13、next; if(P-data=0) return 0; else return 1;squelink *setempty(squelink*L) /置空队; squelink *P,*R,*H; int i,n; R=L-next; H=R-next; n=R-data; for(i=0;inext; if(P=L)L=R; R-next=P; free(H); R-data-; H=P; return L;squelink *setinput(squelink *L) /入队; squelink *R,*S; int n,i=0,l; l=stempty(L); if(l=0) R=L;

14、else R=L-next; printf(请输入队元素的个数:); scanf(%d,&n); if(n0) R-data+=n; printf(输入入队的元素值:n); while(idata); S-next=R; L-next=S; L=S; i+; return L;squelink *setoutput(squelink *L) /出队; squelink *P,*R,*H; int l,i,n; R=L-next; P=R-next; l=stempty(L); if(l=1) printf(输入不超过%d的出队元素个数:,R-data); scanf(%d,&n); if(n=

15、R-data) L=R; printf(n); printf(出队元素是:); for(i=0;inext; printf(%d ,P-data); R-next=H; free(P); P=H; R-data-; if(R-data=0)break; else printf(空队!); return L;void main() squelink *L; int n,l; L=(squelink *)malloc(sizeof(squelink); L-data=0; L-next=L; printf(0:退出; 1:置空队; 2:判空队; 3:入队; 4:出队;n请选择:); scanf(%

16、d,&n); while(n!=0) switch(n) case 1: if(L-data=0) printf(队已为空!); else L=setempty(L); printf(n); break; case 2: l=stempty(L); if(l=0) printf(队为空!n); else if(l=1) printf(队非空!n); break; case 3: L=setinput(L); printf(n); break; case 4: L=setoutput(L); printf(n); break; default: printf(选择有误!n); break; pr

17、intf(请选择:); scanf(%d,&n); 实验九-二叉树所有左右节点的交换#include#includetypedef struct node int data; struct node *lchild,*rchild;Bitree;void outtree(Bitree *H) /先序遍历输出; if(H) printf(%d ,H-data); outtree(H-lchild); outtree(H-rchild); void turnlr(Bitree *L) /左右节点交换; Bitree *P; if(L) P=L-lchild; L-lchild=L-rchild;

18、L-rchild=P; turnlr(L-rchild); turnlr(L-lchild); void createtree(Bitree*H) /建立二叉树; Bitree *L,*R,*P; int m,n; P=H; printf(输入此节点的值:); scanf(%d,&P-data); printf(以-1表示虚结点,请输入该节点的左右孩子是否为虚结点:n); scanf(%d %d,&m,&n); if(m!=-1) L=(Bitree*)malloc(sizeof(Bitree); L-lchild=NULL; L-rchild=NULL; P-lchild=L; create

19、tree(L); if(n!=-1) R=(Bitree*)malloc(sizeof(Bitree); R-lchild=NULL; R-rchild=NULL; P-rchild=R; createtree(R); void main() /主函数; Bitree *L; int n; L=NULL; printf(0:退出;n1:建立一个二叉树;n2:转换所有节点的左右子树;n3:二叉树先序遍历后的结果;n); printf(请选择:); scanf(%d,&n); while(n) switch(n) case 1: Bitree*H; H=(Bitree*)malloc(sizeof

20、(Bitree); H-lchild=NULL; H-rchild=NULL; createtree(H); L=H; break; case 2: if(L=NULL) printf(二叉树未被建立!n); else turnlr(L); break; case 3: if(L=NULL) printf(二叉树未被建立!n); else outtree(L); printf(n); break; printf(请选择:); scanf(%d,&n); 实验十(二叉排序树的判断)#include#includetypedef struct node int data; struct node

21、*lchild,*rchild;Bstnode;void createtree(Bstnode*H) /建立二叉树; Bstnode *L,*R,*P; int m,n; P=H; printf(输入此节点的值:); scanf(%d,&P-data); printf(以-1表示虚结点,请输入该节点的左右孩子是否为虚结点:n); scanf(%d %d,&m,&n); if(m!=-1) L=(Bstnode*)malloc(sizeof(Bstnode); L-lchild=NULL; L-rchild=NULL; P-lchild=L; createtree(L); if(n!=-1) R

22、=(Bstnode*)malloc(sizeof(Bstnode); R-lchild=NULL; R-rchild=NULL; P-rchild=R; createtree(R); int judgetree(Bstnode *H)/判断是否为二叉排序树; Bstnode *L,*R; int flag1=0,flag2=0,flag;/0表示该二叉树是二叉排序树; if(H) L=H-lchild; R=H-rchild; if(L) if(L-data=H-data) flag1=1;/不是二叉排序树时将flag值改变为1; else flag1=judgetree(L); if(R)

23、if(R-datadata) flag2=1;/不是二叉排序树时将flag值改变为1; else flag2=judgetree(R); flag=(flag1flag2)?flag1:flag2; return flag;void main() Bstnode *L; int n,m; L=NULL; printf(0:退出; 1:建立二叉树; 2:判断二叉树是否是二叉排序树;n); scanf(%d,&n); while(n) switch(n) case 1: Bstnode *H; H=(Bstnode*)malloc(sizeof(Bstnode); H-lchild=NULL; H

24、-rchild=NULL; createtree(H); L=H; break; case 2: if(L=NULL) printf(空二叉树!n); else m=judgetree(L); if(m=0) printf(该二叉树是二叉排序树!n); else printf(该二叉树不是二叉排序树!n); break; scanf(%d,&n); 实验十一(带权值边的无向图邻接矩阵转化成邻接表)#include#include#define Max 100/定义邻接矩阵类型;typedef struct int num;/顶点序号; int data;/顶点值;Vertex;typedef struct int n

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1