用c++写一个偶数排序
时间: 2024-05-13 19:19:47 浏览: 8
以下是用 C++ 编写的偶数排序程序:
```c++
#include<iostream>
using namespace std;
int main() {
int arr[] = {3, 2, 4, 1, 6, 5, 8, 7, 10, 9}; // 原始数组
int n = sizeof(arr) / sizeof(arr[0]); // 数组长度
// 偶数排序
int j = 0;
for (int i = 0; i < n; i++) {
if (arr[i] % 2 == 0) { // 如果是偶数
swap(arr[i], arr[j]); // 交换到前面
j++;
}
}
// 输出排序后的数组
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
运行结果为:
```
2 4 6 8 10 3 1 5 7 9
```
这个程序的思路是:首先扫描整个数组,将偶数移到数组的前面,奇数移到数组的后面。我们可以用一个指针 j 指向数组的第一个位置,每当扫描到一个偶数时,就将它和 j 指向的位置交换,然后将 j 后移,这样 j 前面的位置就都是偶数了。最后再输出整个数组即可。
相关问题
插入排序 c++ 习题
插入排序是一种简单直观的排序算法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增加1的有序表。C++中实现插入排序的代码如下所示:
引用中的代码实现了一个简单的插入排序,其中使用了一个无类型的函数i来进行排序。该函数的参数n表示数组a的长度,函数内部使用了一个for循环来遍历数组a,将无序区间插入到有序区间中。
引用中的题目要求对给定的十个数进行排序,可以使用插入排序来实现。具体实现方法可以参考引用中的代码。
引用中的代码实现了一个将数组中的奇数和偶数分别放在数组的前半部分和后半部分的函数Partition4。该函数使用了模板来实现通用性,可以对不同类型的数组进行操作。
插入排序 C++ 习题
插入排序是一种简单直观的排序算法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增加1的有序表。C++中实现插入排序的代码如下所示:
引用中的代码实现了一个简单的插入排序,其中使用了一个无类型的函数i来进行排序。该函数的参数n表示数组a的长度,函数内部使用了一个for循环来遍历数组a,将无序区间插入到有序区间中。
引用中的题目要求对给定的十个数进行排序,可以使用插入排序来实现。具体实现方法可以参考引用中的代码。
引用中的代码实现了一个将数组中的奇数和偶数分别放在数组的前半部分和后半部分的函数Partition4。该函数使用了模板来实现通用性,可以对不同类型的数组进行操作。