目录
它和冒泡排序一样,都是把数组元素按顺序排列,但是方法不同,冒泡排序是把较小值一个一个往后面移,选择排序则是直接找出最小值,可以这个说,选择排序就是把找出最大值的算法进行了一次扩展
- int main(int argc, char const *argv[])
- {
- int arr[] = {3 , 1 , 2 , 5 , 6 , 4};
- int n = sizeof(arr)/sizeof(arr[0]);
- int i =0, j = 0,min = 0;
- for(i = 0 ; i < n ; i++)
- {
- for (min =i,j=min+1; j < n; j++)
- {
- if (arr[j] < arr[min])
- {
- min = j;
- }
-
- }
- if (min != i)
- {
- //swap
- int temp = arr[i];
- arr[i] = arr[min];
- arr[min] = temp;
- }
- }
- i=0;
- for ( i = 0; i < n; i++)
- {
- printf("%d\n",arr[i]);
- }
-
- return 0;
- }
