一起创业网-为互联网创业者服务

程序界面奇数怎么调整

要调整程序界面中的奇数和偶数,可以采用以下方法:

方法一:双指针遍历数组

确定思路

使用两个指针,一个从数组左端开始,一个从数组右端开始。

左指针遇到偶数就停下,右指针遇到奇数就停下。

当两个指针都停下时,交换它们所指向的元素。

继续移动指针,重复上述过程,直到左指针大于或等于右指针。

编写代码

```c

include

void switch_odd_even(int arr[], int size) {

int *left = arr;

int *right = arr + size - 1;

int temp;

while (left < right) {

// 左指针找偶数

while (*left % 2 != 0 && left < right) {

left++;

}

// 右指针找奇数

while (*right % 2 == 0 && left < right) {

right--;

}

// 交换奇数和偶数

if (left < right) {

temp = *left;

*left = *right;

*right = temp;

}

}

}

int main() {

int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

int size = sizeof(arr) / sizeof(arr);

switch_odd_even(arr, size);

for (int i = 0; i < size; i++) {

printf("%d ", arr[i]);

}

return 0;

}

```

方法二:使用两个下标遍历

确定思路

定义两个下标 `left` 和 `right`,分别指向数组的起始位置和最后一个元素的位置。

从前往后找偶数,找到偶数后停止(即 `left` 右移)。

从后往前找奇数,找到奇数后停止(即 `right` 左移)。

当 `left` 和 `right` 都找到对应的数据时,交换它们所指向的元素。

重复上述过程,直到 `left` 大于或等于 `right`。

编写代码

```c

include

void switch_odd_even(int arr[], int size) {

int left = 0;

int right = size - 1;

int temp;

while (left < right) {

// 找偶数

while (left < right && arr[left] % 2 != 0) {

left++;

}

// 找奇数

while (left < right && arr[right] % 2 == 0) {

right--;

}

// 交换奇数和偶数

if (left < right) {

temp = arr[left];

arr[left] = arr[right];

arr[right] = temp;

}

}

}

int main() {

int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

int size = sizeof(arr) / sizeof(arr);

switch_odd_even(arr, size);

for (int i = 0; i < size; i++) {

printf("%d ", arr[i]);

}

return 0;

}

```

方法三:使用临时数组

确定思路

创建一个新数组,用于存放奇数和偶数。

遍历原数组,将奇数放入新数组,将偶数放入新数组。

将新数组中的元素拷贝回原数组。

编写代码