1.顺序表逆置。
根据南京邮电大学王海燕老师编写的数据结构(C语言)第2版的编程风格而写!
/**************1.顺序表逆置**************/
#include<stdio.h>
#include<stdlib.h>
#define ERROR 0
#define OK 1
typedef int ElemType;
typedef struct seqList{
int length; //顺序表的长度
int MaxLength; //顺序表最大允许长度
ElemType *element; //顺序表存储空间的基地址
}SeqList;
//初始化顺序表
int InitList(SeqList *L, int mSize)
{
L->MaxLength=mSize;
L->length=0;
L->element=(ElemType *)malloc(mSize*sizeof(ElemType));
if(!L->element)
return ERROR;
return OK;
}
//给顺序表赋值
int InsertList(SeqList *L,int length){
printf("请输入元素值:\n");
for(int i=0;i<length;i++){
scanf("%d",L->element+i);
}
L->length=length;
return OK;
}
//输出顺序表
void PrintList(SeqList *L){
for(int i=0;i<L->length;i++) {
printf("%d ",L->element[i]);
}
}
//逆置函数
int InvertList(SeqList *L){
ElemType temp;
int i;
for(i=0;i<(L->length)/2;i++)
{
temp=L->element[i];
L->element[i]=L->element[L->length-i-1];
L->element[L->length-i-1]=temp;
}
return OK;
}
int main()
{
int length;
SeqList L;
InitList(&L,length); //初始化顺序表
printf("你想输入多少个元素?\n");
scanf("%d",&length);
InsertList(&L,length); //给顺序表赋值
printf("\n逆置后的结果为:\n");
InvertList(&L); //顺序表逆置
PrintList(&L); //输出顺序表逆置结果
return 0;
}