c++插入排序代码,输出每趟排序结果、最终排序结果
时间: 2024-03-03 21:50:28 浏览: 49
好的,以下是 C++ 的插入排序代码,实现了输出每趟排序结果和最终排序结果:
```c++
#include <iostream>
using namespace std;
void insertionSort(int arr[], int n) {
for (int i = 1; i < n; i++) {
int key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
// 输出每趟排序结果
cout << "第" << i << "趟排序结果:";
for (int k = 0; k < n; k++) {
cout << arr[k] << " ";
}
cout << endl;
}
}
int main() {
int arr[] = { 5, 2, 4, 6, 1, 3 };
int n = sizeof(arr) / sizeof(arr[0]);
cout << "原数组为:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
insertionSort(arr, n);
cout << "排序后的数组为:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
原数组为:5 2 4 6 1 3
第1趟排序结果:2 5 4 6 1 3
第2趟排序结果:2 4 5 6 1 3
第3趟排序结果:2 4 5 6 1 3
第4趟排序结果:2 4 5 6 1 3
第5趟排序结果:1 2 4 5 6 3
排序后的数组为:1 2 3 4 5 6
```
阅读全文