简单排序(冒泡排序、选择排序、插入排序)
“例题:编程接收键盘输入的若干个整数,排序后从小到大输出。先输入一个整数n,表明有n个整数需要排序,接下来再输入待排序的n个整数”。
(1)选择排序(O(n^2))
如果有N个元素需要排序,那么首先从N个元素中找到最小的那个(称为第O小的)放在第0个位子上(和原来的第0个位子上的元素交换位置),然后再从剩下的N-1个元素中找到最小的放在第1个位子上,然后再从剩下的N-2个元素中找到最小的放在第2个位子上……直到所有的元素都就位。
代码
void SelectionSort(int a[], int size){
for(int i=0; i<size-1; i++){
//每次循环后将第i小的元素放好
int tmpMin = i;
//用来记录从第i个到第size-1个元素中,最小的那个元素的下标
for(int j = i+1; j