第三章:查詢與排序(下)------------- 3.8題解_調整陣列順序-奇數在左偶數在右
調整陣列順序-奇數在左偶數在右:
法一:模式匹配:歸併排序:
奇數放左邊,偶數放右邊。需另外開闢空間。
#include<iostream>
using namespace std;
void mergeSortOddEven(int arr[],int low, int high){
int length=high-low+1;
int ref[length];
int left=low;
int right=high;
int current=low;
//Copy到ref陣列
for(int i=0;i<length;i++){
ref[i]=arr[i];
}
while(current<length){
if(ref[current]%2==0){
arr[right--]=ref[current++];
}
if((ref[current]%2)!=0){
arr[left++]=ref[current++];
}
}
}
int main(){
int arr[]={2,4,6,1,7,2,8,3,7,3,6};
mergeSortOddEven(arr,0,10);
for(int i=0;i<11;i++){
cout<<arr[i]<<" ";
}
return 0;
}
結果:
法二:模式匹配:快速排序:
左右兩指標,不滿足則交換元素。
#include<iostream>
using namespace std;
void quickSortOddEven(int arr[],int low, int high){
int length=high-low+1;
int left=low;
int right=high;
while(left<right){
while(arr[left]%2==1){
left++;
}
while(arr[right]%2==0){
right--;
}
if(left<right){
swap(arr[left],arr[right]);
}
}
}
int main(){
int arr[]={2,4,6,1,7,2,8,3,7,3,6};
quickSortOddEven(arr,0,10);
for(int i=0;i<11;i++){
cout<<arr[i]<<" ";
}
return 0;
}
結果:
相關文章
- 面試題21:調整陣列順序奇數位於偶數前面面試題陣列
- LeetCode題解(Offer21):調整陣列順序使奇數位於偶數前面(Python)LeetCode陣列Python
- 【劍指Offer】調整陣列順序使奇數位於偶數前面陣列
- JZ-013-調整陣列順序使奇數位於偶數前面陣列
- [每日一題] 第十一題:調整陣列順序使奇數位於偶數前面每日一題陣列
- 劍指 Offer 21. 調整陣列順序使奇數位於偶數前面陣列
- 第三章:查詢與排序(下)----------- 3.9 最快效率求出亂序陣列中第k小的數排序陣列
- 【C語言】調整陣列使奇數全部都位於偶數前面。C語言陣列
- 每日一練(24):在排序陣列中查詢數字排序陣列
- 第三章:查詢與排序(下)----------- 3.29 題解:判斷陣列的包含問題排序陣列
- 第三章:查詢與排序(下)----------- 3.19 計數排序排序
- 第三章:查詢與排序(下)----------- 3.21基數排序排序
- 第三章:查詢與排序(下)----------- 3.23 相關題解:排序陣列中找和的因子排序陣列
- 調整陣列元素順序演算法陣列演算法
- 每日一題 - 劍指 Offer 53 - I. 在排序陣列中查詢數字 I每日一題排序陣列
- 面試演算法題(4)--將一個整數陣列中的所有奇數放到偶數前面面試演算法陣列
- 第三章:查詢與排序(下)----------- 3.27 用計數排序解決員工年齡問題排序
- 第三章:查詢與排序(下)----------- 3.14 逆序對個數排序
- 給定一個按非遞減順序排序的整數陣列 A,返回每個數字的平方組成的新陣列,要求也按非遞減順序排序。排序陣列
- C++查詢一個數是否在陣列中find用法C++陣列
- 第三章:查詢與排序(下)----------- 3.20桶排序排序
- 第三章:查詢與排序(下)----------- 3.10 實戰解題_哪個數字超過了一半?排序
- JZ-037-數字在排序陣列中出現的次數排序陣列
- 陣列左邊減去右邊數值的最大差值陣列
- 順序查詢
- 劍指Offer-39-數字在排序陣列中出現的次數排序陣列
- 5G在左, AI在右AI
- 【LeetCode-陣列】查詢大多數元素LeetCode陣列
- 1到100迴圈,並把奇數放到陣列中,把偶數放到map中陣列
- JavaScript專題之學underscore在陣列中查詢指定元素JavaScript陣列
- MySQL 並列排名和順序排名查詢MySql
- 第三章:查詢與排序(下)----------- 3.28 特殊排序(利用sort函式)排序函式
- DNS查詢順序DNS
- 求陣列內所有偶數的和陣列
- 如何查詢總和等於給定數字的整數陣列中的所有對陣列
- 第二章 :查詢與排序-------2.18題目講解_在有空字串中的有序字串陣列中查詢排序字串陣列
- NumPy 陣列排序、過濾與隨機數生成詳解陣列排序隨機
- jQuery調整li元素順序jQuery