实验1-1 顺序表的逆置操作 程序原码 #include // 创建顺序表,确定元素个数,插入各个元素,逆置列表。 #include #include #define max_list_size 100 //定义给顺序表分配空间大小 typedef struct{ int *elem; int length; }list_node; //指向顺序表首地址的结构体单元 list_node L; //这里使用了全局变量,在所有的函数里可以随意修改其值 int list[max_list_size]; void init(); // 初始化操作 void inversion(); // 倒置部分 void creat(); // 建表部分 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 //*************以下为建表部分****************** void creat(){ int a, 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; } } //****************以下为倒置部分********************** void inversion(){ int a, 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; } } //****************以下为显示部分********************** void display(){ int i; for( i = 1; i <= L.length; ++i) printf("%d\t", L.elem[i-1]); printf("\n"); } 2 实验1 -1 测试结果 输入一个正数、 输入一个负数、 实验1-2 单链表的逆置操作 程序原码 //创建一个单链表,确定元素个数,插入各个元素,进行逆置操作,并输出。 #include #include #include...