1、实验 1-1 顺序表的逆置操作 程序原码 #include / 创建顺序表,确定元素个数,插入各个元素,逆置列表。 #include #include #define max_list_size 100 /定义给顺序表分配空间大小 typedef struct int *elem; int length; list_node; /指向顺序表首地址的结构体单元 list_node L; /这里使用了全局变量,在所有的函数里可以随意修改其值 int listmax_list_size; void init(); / 初始化操作 void inversion(); / 倒置部分 void creat
2、(); / 建表部分 void display(); / 显示部分 /*主函数* int main() init(); creat(); printf(“n 您输入的顺序表的结点数: n“); display(); inversion(); printf(“n 倒置顺序表的结点数: n“); display(); /*初始化操作分配空间* void init() L.elem = (int *) malloc (max_list_size * sizeof(int) ); if (! L.elem) printf(“顺序表已满“); exit(-1); L.length = 0; 1 /*以下
3、为建表部分* void creat() int a, b, i; printf(“请输入顺序表的结点数: “); scanf(“%d“, if(a max_list_size - 1 | a next=NULL; printf(“请输入链表的个数: “); scanf(“%d“, if(tnext=tail-next; tail-next=New; tail=New; return Head; /*以下为单链表的逆置部分* void Reaverse_Link(PLNode Head) PLNode p,q; p=Head-next; Head-next=NULL; while(p) q=p-next; p-next=Head-next; Head-next=p; p=q; return; /*以下为单链表的显示部分* void Treaver_Link(PLNode Head) PLNode p; if(!Head-next) printf(“链表为空退出程序!“); exit(-1); p=Head-next; while(p) printf(“%dt“,p-date); p=p-next; printf(“n“); return; 5 实验 1-2 测试结果 输入一个正数、 输入一个负数、