在教材中直接插入排序的基础之上,加入输出比较过的元素的过程。最后输出排好序的结果。
输入描述第一行输入待排序记录个数 第二行输入待排序序列输出描述
输出每一趟比较的过程,每趟占一行 输出最后排好序的结果,要求不输出空行输入样例
10 17 5 22 87 8 10 1 23 68 2输出样例
17 87 22 17 87 22 17 87 22 17 10 8 5 87 87 87 68 23 22 17 10 8 5 1 2 5 8 10 17 22 23 68 87
思路:水
代码:
#includeusing namespace std; int main() { int n, a[100]; cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; //插入排序 int i, j, temp; for (i = 1; i < n; i++)//插入n-1次 { temp = a[i]; for (j = i - 1; j >= 0 && temp < a[j]; j--) { cout << a[j] << ' '; a[j + 1] = a[j]; a[j] = temp; } //cout << endl; } //输出 for (int i = 0; i < n; i++) cout << a[i] << ' '; return 0; }



