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

在线预览结束,喜欢就下载吧,查找使用更方便

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

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

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

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

5/6实验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);}tail=Head;Head->next=NULL;printf("请输入链表的个数:");scanf("%d",&t);if(t<=0){printf("链表个数要为正整数!请重新输入:");scanf("%d",&t);}for(i=0;i<t;i++){printf("请输入第%d个结点数据:",i+1);scanf("%d",&y);New=