輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得全部的奇數字於陣列的前半部分。全部的偶數字於位於陣列的後半部分。
**:
/*
調整陣列順序使得奇數字於偶數前面
by rowandjj
2014/8/1
*/#include#includeusing namespace std;
//高效解法,但會調整後的陣列元素相對順序會發生改變
void func(int *parr,int len)
int low = 0,high = len-1;
while(low < high)
while(low < high && (parr[high] & 0x1) == 0)//high指標前移直到遇到奇數
if(low < high)//假設low指標在high指標前面。那就將兩個指標所指元素互換
}}//使用輔助陣列
void func2(int *parr,int len)
int *temp = (int*)malloc(sizeof(int)*len);
if(!temp)
int i,j = 0;
for(i = 0 ; i< len; i++)//先將奇數拷貝到輔助陣列前面 }
for(i = 0; i < len; i++)//再將偶數拷貝到輔助陣列後面 }
for(i = 0; i < len; i++)//覆蓋原陣列
free(temp);
}int main()
int *parr = (int*)malloc(sizeof(int)*n);
if(!parr)
for(int i = 0; i < n; i++)
func2(parr,n);
for(int j = 0; j < n; j++)
else
}free(parr);
return 0;
}
調整陣列順序使得奇數字於偶數前面
輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。思路 使用兩個指標,前邊的指標尋找偶數,後邊的指標尋找奇數 若兩個指標都找到了目標,就交換兩個值,進行交換的時候,需要移動元素,...
調整陣列順序使奇數字於偶數前 python
解題思路 此題有兩個解題思路,我先寫出第乙個,後續補充 1.利用python的特點,建立兩個陣列,乙個存放奇數,乙個存放偶數,最後將兩個陣列合併即可。這題麻煩的一點是要保持順序。輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並...
調整陣列順序使奇數字於偶數前 python
思路1 從頭遍歷找到偶數從陣列中刪除並移動到陣列末尾 arr 2 3,4 5,8 7,1 for x in range 0 len arr if arr x 2 0 s arr x arr.remove arr x print arr 思路2 兩個指標,第乙個初始化指向陣列的第乙個數字,只向後移動 ...