预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验1-1顺序表的逆置操作 程序原码 #include<stdlib.h>//创建顺序表,确定元素个数,插入各个元素,逆置列表。 #include<stdio.h> #include<malloc.h> #definemax_list_size100//定义给顺序表分配空间大小 typedefstruct{ int*elem; intlength; }list_node;//指向顺序表首地址的结构体单元 list_nodeL;//这里使用了全局变量,在所有的函数里可以随意修改其值 intlist[max_list_size]; voidinit();//初始化操作 voidinversion();//倒置部分 voidcreat();//建表部分 voiddisplay();//显示部分 //*************主函数****************** intmain() { init(); creat(); printf("\n您输入的顺序表的结点数:\n"); display(); inversion(); printf("\n倒置顺序表的结点数:\n"); display(); } //*************初始化操作分配空间****************** voidinit() { L.elem=(int*)malloc(max_list_size*sizeof(int)); if(!L.elem){ printf("顺序表已满"); exit(-1); } L.length=0; } //*************以下为建表部分****************** voidcreat(){ inta,b,i; printf("请输入顺序表的结点数:"); scanf("%d",&a); if(a<=0){ printf("顺序表个数要为正整数!请重新输入:"); scanf("%d",&a); } if(a>max_list_size-1||a<0) { printf("分配失败,退出程序!\n"); exit(1); } for(i=0;i!=a;++i) { printf("请输入第%d结点的值:",i+1); scanf("%d",&b); L.elem[i]=b; ++L.length; } } //****************以下为倒置部分********************** voidinversion(){ inta,b,i; a=L.length; for(i=1;i<=a/2;i++) { b=L.elem[i-1]; L.elem[i-1]=L.elem[a-i]; L.elem[a-i]=b; } } //****************以下为显示部分********************** voiddisplay(){ inti; for(i=1;i<=L.length;++i) printf("%d\t",L.elem[i-1]); printf("\n"); } 实验1-1测试结果 输入一个正数、 输入一个负数、 实验1-2单链表的逆置操作 程序原码 //创建一个单链表,确定元素个数,插入各个元素,进行逆置操作,并输出。 #include<stdio.h> #include<malloc.h> #include<stdlib.h> //单链表的链式存储结构 typedefstructNode { intdate; structNode*next; }LNode,*PLNode; PLNodeCreat_Link();//创建链表 voidTreaver_Link(PLNodeHead);//输出链表 voidReaverse_Link(PLNodeHead);//逆置链表 voidmain() { PLNodeHead; Head=Creat_Link();//创建链表 printf("您输入的单链表为:\n"); Treaver_Link(Head); //输出链表 Reaverse_Link(Head); //逆置链表 printf("逆置后的的单链表为:\n"); Treaver_Link(Head); //输出链表 } //************以下为单链表的创建部分************** PLNodeCreat_Link() { inti,t,y; PLNodeHead=(PLNode)malloc(sizeof(LNode)); PLNodetail; PLNodeNew; if(!Head){ exit(-1