1、设一系列正整数存放在一个数组中,试设计算法,将所有奇数存放在数组的前半部分,将所有的偶数放在数组的后半部分。要求尽可能少用临时存储单元并使时间最少。
算法设计思想:创建一个一维数组A以存放一系列正整数(大小为n),初始两个指针i、j。分别指向数组头A[1]和数组尾A[n].(A[0]不使用)。
A[1] |
A[2] |
A[3] |
A[4] |
A[5] |
A[6] |
A[7] |
… |
A[n] |
↑ |
-> |
|
|
|
|
|
<- |
↑ |
i |
-> |
|
|
|
|
|
<- |
j |
算法过程:
Status sortArray(Array A) {
while (i<=j) {
if(A[i]%2==0 && A[j]%2!=