在一个N个整数数组里面,有多个奇数和偶数,设计一个排序算法,令所有的奇数都在左边。
请完成sort的代码实现(C++或Java)
C++:void sort(int N, int[]a)
{
…
}
Java:
void sort(int[]a)
{
…
}
例如: 当输入a = {8,4,1,6,7,4,9,6,4},
a = {1,7,9,8,4,6,4,6,4}为一种满足条件的排序结果
代码如下 #include "stdafx.h" #include <iostream> using namespace std; int *sort(int*a, int n){ int* b = new int[n]; int j = 0; int count = 0; for (int i = 0; i < n; i++){ if (a[i] % 2 >0){ b[n - 1 - count] = a[i]; count++; } else{ b[j] = a[i]; j++; } } return b; } int _tmain(int argc, _TCHAR* argv[]) { //int a[6] = { 1,3,5,6,8,7}; int n; cout << "请输入数组中数字的个数" << endl; cin >> n; int *a; a = new int[n]; cout << "请输入任意一串数字类似(1 3 5 6 8 7)" << endl; for (int i = 0; i < n; i++){ cin >> a[i]; } int *b = new int[n]; b=sort(a, n); for (int i = 0; i < n; i++){ cout << b[i]<<" "; } return 0; }