编写算法,对n个关键字取整数值的记录序列进行整理,以使所有关键字为负值的记录排在关键字为非负值的记录之前,要求:
① 采用顺序存储结构,至多使用一个记录的辅助存储空间;
② 算法的时间复杂度为O(n)。
[算法描述]
void process (int A[n]){
low = 0;
high = n-1;
while ( low<high ){
while (low<high && A[low]<0)
low++;
while (low<high && A[high]>0)
high++;
if (low<high){
x=A[low];
A[low]=A[high];
A[high]=x;
low++;
high--;
}
}
return;
}