【问题描述】
实现冒泡排序、简单选择排序、直接插入排序。
【输入形式】
输入3组待排序序列。
【输出形式】
输出分别使用冒泡、选择、插入排序的每趟排序结果。
【样例输入】
5
7 3 5 0 -9
3
9 8 0
6
2 4 6 3 4 2
【样例输出】
insertSort:
3 7 5 0 -9
3 5 7 0 -9
0 3 5 7 -9
-9 0 3 5 7
selectSort:
0 8 9
0 8 9
bubbleSort:
2 4 3 4 2 6
2 3 4 2 4 6
2 3 2 4 4 6
2 2 3 4 4 6
【样例说明】
从样例可以看出,直接插入排序和选择排序排序趟数都是n-1,而冒泡排序是改进后的排序算法,排序趟数<=n-1。
每趟排序完成,调用printList输出当前结果。
注意:选择排序,每趟选择只做一次交换(而不是每次比较都做交换)
#include
#include
#define MAX 1000
void printList(int list[], int n)
{
int i;
for(i=0; i