// 整形数组,把偶数调整到数组的左边,把奇数调整到数组的右边
#include<iostream>
#include<string>
#include<time.h>
using namespace std;
// 偶数放左边,奇数放右边
void AdjustArray(int arr[], int size){
// 双指针
int left = 0;
int right = size - 1;
while(left < right){
// 从左边找到第一个奇数
while(left < right && arr[left] % 2 == 0){
left++;
}
// 从右边找到第一个偶数
while(left < right && arr[right] % 2 != 0){
right--;
}
// 交换
if(left < right){
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
}
}
}
int main(){
int arr[10] = {0};
srand(time(0));
for(int i = 0; i < 10; i++){
arr[i] = rand() % 100;
}
for(int i = 0; i < 10; i++){
cout << arr[i] << " ";
}
cout<<endl;
AdjustArray(arr, 10);
for(int i : arr){
cout << i << " ";
}
}