C语言顺序表逆置实现
#include <stdio.h> #include <stdlib.h> #define MaxSize 50 typedef int ElemType; typedef struct { ElemType data[MaxSize]; int length; }SqList; /顺序表的基本操作/ int ListEmpty(SqList *L) { return(L->length==0); }
void CreateList(SqList *L,int n) { int i; L->length = n; i = 0; while(i < n) { scanf('%d',&L->data[i]); i++; } }
void InitList(SqList *&L) { L=(SqList *)malloc(sizeof(SqList)); if(L == NULL) { printf('内存分配失败\n'); exit(1); } L->length=0; }
void DispList(SqList *L)
{
int i;
if (ListEmpty(L)) return;
for (i=0;i
void Reverse(SqList *L) { int i,j,n,t; n = L->length; if (n == 0 || n == 1) { return ; } i = 0; j = n-1; while(i<j) { t = L->data[i]; L->data[i] = L->data[j]; L->data[j] = t; i++; j--; } }
int main() { SqList *L = NULL; int n; ElemType e,x; printf('(1)初始化顺序表L\n'); InitList(L); printf('(2)输入顺序表的长度M:'); scanf('%d',&n); printf('\n'); printf('(3)依次插入M个元素\n'); CreateList(L,n); printf('(4)输逆置前顺序表:\n'); DispList(L); printf('(5)逆置后顺序表:'); Reverse(L); DispList(L); free(L); return 0; }
原文地址: https://www.cveoy.top/t/topic/pjRx 著作权归作者所有。请勿转载和采集!