已知一个数列A,其中包含若干个任意排列的正整数和负整数。试设计一个算法,将数列中所有的负整数调至前半部分,正整数调至后半部分。
要求:算法的时间复杂度为O(n),空间复杂度为0(1)。其中,n为数列包含的整数个数。
假设存放数列A的数据类型定义为:
typedef struct{ //存放数列A的数据类型
int data[MAXSIZE]; //存放数列数据的连续存储空间
int size; //当前数列包含的数据个数
}SqList;
其中,MAXSIZE是数组data长度的宏
算法的函数原型定义为:
void adjust(SqList &L)