排序算法小探究:
/**
* 排序编译
*/
#include <iostream>
using namespace std;
void print(int a[], int n) {
cout << n << ":";
for (int j = 0; j < n; j++) {
cout << a[j] << " ";
}
cout << endl;
}
void InsertSort(int a[], int n) {
for (int i = 1; i < n; i++) {
if (a[i] < a[i - 1]) {
int j = i - 1;
int x = a[i];
a[i] = a[i - 1];
while (x < a[j]) {
a[j + 1] = a[j];
j--;
if (j <= 0) {
break;
}
}
a[j + 1] = x;
}
print(a, n);
}
}
int main() {
int a[9] = {3, 1, 5, 7, 2, 4, 9, 6, 8};
InsertSort(a, 9);
print(a, 9);
}
编译运行结果: