题目描述
建立长度为n的顺序表,然后将表中的数据元素逆置,即若表中原来的数据元素序列为(a0,a1,a2,…,an),则逆置后的数据元素序列为(an,an-1,an-2,…,a1,a0)。(数据类型为字符型)
第一行为顺序表的长度n;第二行为顺序表中的数据元素.
输出为逆置后的顺序表.
样例输入
7 ABCDEFG
样例输出
G F E D C B A
#include<stdio.h>
#include<malloc.h>
typedef struct
{
char *array;
int length;
}sqList;
sqList GetList()
{
sqList L;
int n;
char temp;
scanf("%d",&n);
getchar();
L.array = (char *)malloc(sizeof(char)*n);
for(int i=0;i<n;i++)
{
scanf("%c",&temp);
L.array[i] = temp;
}
L.length = n;
return L;
}
void Display(sqList L)
{
for(int i=0;i<L.length-1;i++)
{
printf("%c ",L.array[i]);
}
printf("%c\n",L.array[L.length-1]);
}
sqList Inversion(sqList L)
{
sqList Li;
int k = 0;
Li.array = (char *)malloc(sizeof(char)*L.length);
for(int i=L.length-1; i>=0; i--)
{
Li.array[k++] = L.array[i];
}
Li.length = L.length;
return Li;
}
int main()
{
sqList L = GetList();
L = Inversion(L);
Display(L);
return 0;
}