1、设有一个线性表E={e1,e2,…,en-1,en},设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E’={en,en-1,…,e2,e1},要求逆线性表占用原线性表空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成
(文件夹:顺序表逆置、单链表逆置)线性表:#include#includetypedefchardatatype;constintmaxsize=1024;typedefstruct{datatypedata[maxsize];intlast;}sequenlist;voidcreate(sequenlist*&);voidprint(sequenlist*);voidinvert(sequenlist*);voidmain(){sequenlist*L;create(L);printf("建立的顺序表是:");print(L);invert(L);printf("逆置后的顺序表是:");print(L);}voidcreate(sequenlist*&L){L=(sequenlist*)malloc(sizeof(sequenlist));L->last=0;printf("请输入数据:");charch;while((ch=getchar())
='\n'){L->last++;L->data[L->last]=ch;}}voidprint(sequenlist*L){for(inti=1;ilast;i++)printf("%2c",L->data[i]);printf("\n");}voidinvert(sequenlist*L){intn=L->last/2;for(inti=1;idata[i];L->data[i]=L->data[L->last-i+1];L->data[L->last-i+1]=temp;}}