c++冒泡排序奇和偶c++
时间: 2023-09-25 07:06:25 浏览: 157
c++冒泡排序
冒泡排序是一种简单的排序算法,它通过不断交换相邻元素的位置来将较大(或较小)的元素逐渐移动到序列的一端。在冒泡排序的基础上,可以对奇数和偶数分别进行排序。
以下是一个使用C语言实现冒泡排序并分别排序奇数和偶数的示例代码:
```c
#include <stdio.h>
// 冒泡排序
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int arr[] = {9, 3, 7, 2, 6, 4, 5, 8, 1};
int n = sizeof(arr) / sizeof(arr[0]);
int i;
// 将奇数和偶数分别存放在两个数组
int oddArr[n], evenArr[n];
int oddCount = 0, evenCount = 0;
for (i = 0; i < n; i++) {
if (arr[i] % 2 == 0) {
evenArr[evenCount++] = arr[i];
} else {
oddArr[oddCount++] = arr[i];
}
}
// 对奇数和偶数分别进行冒泡排序
bubbleSort(oddArr, oddCount);
bubbleSort(evenArr, evenCount);
printf("奇数排序结果:");
for (i = 0; i < oddCount; i++) {
printf("%d ", oddArr[i]);
}
printf("\n偶数排序结果:");
for (i = 0; i < evenCount; i++) {
printf("%d ", evenArr[i]);
}
return 0;
}
```
该代码中,首先定义了一个冒泡排序函数 `bubbleSort`,用于对数组进行排序。然后在 `main` 函数中,将原始数组中的奇数和偶数分别存放在两个新的数组中,并记录奇数和偶数的个数。然后分别对这两个数组进行冒泡排序,并输出排序结果。
注意:这只是一个示例代码,实际应用中可能需要考虑更多的边界情况和优化。
阅读全文