1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | int find_smallest(int *array, int left, int right) { int smallest = left; while(left<=right) { if(array[left] < array[smallest]) smallest = left; left++; } return smallest; } void select_sort(int *array, int left, int right) { int i = left; for(; i<right; i++) { int index = find_smallest(array, i, right); //找出最小的元素的下标 myswap(array+i, array+index); //交换 } } |
August 23, 2010
