#include <stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR -1
#define MAX_SIZE 100
typedef int Status;
typedef int ElemType;
typedef struct sqlist{
ElemType Elem[MAX_SIZE];
int last; //last代表最后一个数数组下标
}Sqlist;
//打印函数
void PrintList(Sqlist *L){
int i;
for(i=0;i<=L->last;i++){
printf("%d\n",L->Elem[i]);
}
}
//创建线性表
Status CreatList(Sqlist *L){
int len;
int i;
printf("请输入想要创建表的长度:");
scanf("%d",&len);
if(len<0||len>MAX_SIZE)
return ERROR;
L->last=len-1;
for(i=0;i<len;i++){
scanf("%d",&L->Elem[i]);
}
return OK;
}
//逆置函数
Status ReverseList(Sqlist *L){
int i;
ElemType temp;
if(L->last+1==0){
printf("表为空!\n");
return ERROR;
}
else{
for (i=0; i< L->last+1/2;i++) {
temp=L->Elem[i];
L->Elem[i]=L->Elem[L->last-i];
L->Elem[L->last-i]=temp;
}
}
return OK;
}
int main() {
Sqlist l;
l.last=-1;
CreatList(&l);
printf("线性表的值如下:\n");
PrintList(&l);
ReverseList(&l);
printf("线性表逆置后的值如下:\n");
PrintList(&l);
return 0;
}
线性表的逆置(使用一维数组存储)
最新推荐文章于 2022-10-28 23:19:01 发布