以文件夹lab2_2中的程序文件为基础,按照下列要求设计2个算法,输出的参考样张如下所示。请把答案代码直接补充在源文件中。
2.1 设计算法将其调整为左右两部分,左边所有元素为奇数,右边所有元素为偶数,并要求算法的时间复杂度为O(n);
2.2 实现顺序表逆置的算法。
#include//引用输入输出流库函数的头文件 using namespace std; const int MaxSize=10; //10只是示例性的数据,可以根据实际问题具体定义 class SeqList { public: SeqList( ){length=0;} //无参构造函数,创建一个空表 SeqList(int a[ ], int n); //有参构造函数 void Insert(int i, int x); //在线性表中第i个位置插入值为x的元素 int Delete(int i); //删除线性表的第i个元素 int Locate(int x); //按值查找,求线性表中值为x的元素序号 void PrintList( ); //遍历线性表,按序号依次输出各元素 void Adjust(); void Reverse(); private: int data[MaxSize]; //存放数据元素的数组 int length; //线性表的长度 }; SeqList::SeqList(int a[ ], int n) { if (n>MaxSize) throw "参数非法"; for (int i=0; i =MaxSize) throw "上溢"; if (i<1 || i>length+1) throw "位置非法"; for (int j=length; j>=i; j--) data[j]=data[j-1]; //注意第j个元素存在数组下标为j-1处 data[i-1]=x; length++; } int SeqList::Delete(int i) { if (length==0) throw "下溢"; if (i<1 || i>length) throw "位置非法"; int x=data[i-1]; for (int j=i; j ps:自己的作业,随便做做,完全搞不懂链表是什么鬼东西



