#include<iostream> #include<malloc.h> using namespace std; typedef struct { int length;//保存长度 int data[40];//数组 } SqList; /*算法1:设计一个高效的算法,将顺序表中的所有元素逆置、要求算法空间股咋度为o(1)*/ //初始化顺序表 void initReverse(SqList &s,int *a,int l){ s.length=0; //插入元素 for(int i=0;i<l;i++){ s.data[i]=a[i]; } s.length=l; //先输出所有元素 for(int i=0;i<s.length;i++){ cout<<s.data[i]<<" "; } cout<<endl; //逆置 int m=s.length/2; int start=0,end=s.length-1,temp; while(start<end){ temp=s.data[start]; s.data[start]=s.data[end]; s.data[end]=temp; start++; end--; } //输出并且销毁 系统自动销毁 无需操作 for(int i=0;i<s.length;i++){ cout<<s.data[i]<<" "; } cout<<endl; } using namespace std; int main(){ SqList s; int a[6]={1,2,3,4,5,6}; initReverse(s,a,6); return 0; }