例子:17,20,5,9,10,12,6,7,1,2
升序排列
1.插入排序
粗体表示已排好序的序列,下划线表示每次插入的数据,为标识清楚用"|"为分界线
插入数据从已排好序的序列,从后向前依次跟每个元素比较,小于原元素就跟前一个再做比较,直到大于或等于原元素,插入
17,|20,5,9,10,12,6,7,1,2
17,20,|5,9,10,12,6,7,1,2
5,17,20,|9,10,12,6,7,1,2
5,9,17,20,|10,12,6,7,1,2
5,9,10,17,20,|12,6,7,1,2
5,9,10,12,17,20,|6,7,1,2
5,6,9,10,12,17,20,|7,1,2
5,6,7,9,10,12,17,20,|1,2
1,5,6,7,9,10,12,17,20,|2
1,2,5,6,7,9,10,12,17,20
2.选择排序
粗体表示已排好序的序列,下划线表示每次插入的数据,为标识清楚用"|"为分界线
每次从未排序的序列中选择最小的元素与第一个元素交换
17,20,5,9,10,12,6,7,1,2
1,|20,5,9,10,12,6,7,17,2
1,2,|5,9,10,12,6,7,17,20
1,2,5,|9,10,12,6,7,17,20
1,2,5,6,|10,12,9,7,17,20
1,2,5,6,7,|12,9,10,17,20
1,2,5,6,7,9,|12,10,17,20
1,2,5,6,7,9,10,|12,17,20
1,2,5,6,7,9,10,12,|17,20
1,2,5,6,7,9,10,12,17,|20
1,2,5,6,7,9,10,12,17,20
3.冒泡排序
粗体表示已排好序的序列,剩余为无序序列,每次找到无序序列中最小的元素,放在已排好序的序列最后,直到无序序列只剩一个元素,排序结束
17,20,5,9,10,12,6,7,1,2
1,17,20,5,9,10,12,6,7,2
1,2,17,20,5,9,10,