1、实验 1-1 顺序表的逆置操作程序原码#include / 创建顺序表,确定元素个数,插入各个元素,逆置列表。#include#include#define max_list_size 100 /定义给顺序表分配空间大小typedef structint *elem;int length;list_node; /指向顺序表首地址的结构体单元list_node L; /这里使用了全局变量,在所有的函数里可以随意修改其值int listmax_list_size;void init(); / 初始化操作void inversion(); / 倒置部分void creat(); / 建表部分void
2、 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/*以下为建表部分* void creat()int a, b
3、, i;printf(“请输入顺序表的结点数: “);scanf(“%d“, if(a max_list_size - 1 | a #include #include / 单链表的链式存储结构typedef struct Nodeint date;struct Node *next;3LNode,*PLNode;PLNode Creat_Link(); /创建链表void Treaver_Link(PLNode Head); /输出链表void Reaverse_Link(PLNode Head); /逆置链表void main()PLNode Head;Head=Creat_Link();
4、/创建链表printf(“您输入的单链表为: n“);Treaver_Link(Head); /输出链表Reaverse_Link(Head); /逆置链表printf(“逆置后的的单链表为: n“);Treaver_Link(Head); /输出链表/*以下为单链表的创建部分*PLNode Creat_Link()int i,t,y;PLNode Head=(PLNode )malloc(sizeof(LNode);PLNode tail;PLNode New;if(!Head)exit(-1);tail=Head;Head-next=NULL;printf(“请输入链表的个数: “);sc
5、anf(“%d“,if(tdate=y;New-next=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 测试结果输入一个正数、输入一个负数、