已知一个顺序表LA,将LA中的数据元素逆置。例如LA=(5,8,1,6,12),则逆置后LA=(12,6,1,8,5).
思考:如何利用尽量少的空间?能否在原地修改?
C语言 顺序表综合编程
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 神仙别闹 2021-10-13 01:24关注
#include<stdio.h> #include<stdlib.h> #define MAXSIZE 1024 typedef struct { int data[MAXSIZE];//存储顺序表中的元素 int len;//顺序表长 }SeqList;//顺序表类型 SeqList *Init_SeqList()//顺序表初始化 { SeqList *L; L=(SeqList*)malloc(sizeof(SeqList)); L->len=0; return L; //返回指向顺序表的指针L } void CreatList(SeqList **L)//建立顺序表 { int i,n; printf("Input length of List:"); scanf("%d",&n); printf("Input elements of List:\n"); for(i=1;i<=n;i++) scanf("%d",&(*L)->data[i]); (*L)->len=n; } void Coverts(SeqList *A) //将顺序表中的元素逆置 { int i,n; int x; n=A->len;//n为线性表的长度 for(i=1;i<n/2;i++)//实现逆置 { x=A->data[i]; A->data[i]=A->data[n-i+1]; A->data[n-i+1]=x; } } void print(SeqList *L)//顺序表的输出 { int i; for(i=1;i<=L->len;i++) printf("%2d",L->data[i]); printf("\n"); } int main() { SeqList *A; A=Init_SeqList();//顺序表初始化 printf("Creat List:\n"); CreatList(&A);//建立顺序表 print(A);//输出顺序表 Coverts(A);//逆置 print(A); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥15 孟德尔随机化结果不一致
- ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
- ¥15 关于#hadoop#的问题
- ¥15 (标签-Python|关键词-socket)
- ¥15 keil里为什么main.c定义的函数在it.c调用不了
- ¥50 切换TabTip键盘的输入法
- ¥15 可否在不同线程中调用封装数据库操作的类