直接选择排序

来源:互联网 发布:mac怎么删除东西 编辑:程序博客网 时间:2024/06/08 23:59
#include<iostream>/**直接选择排序 -- 将数组分为有序区和无序区,每一趟在无序区取出一个最小的数放入有序区,使有序区增加一个元素,经过n-1趟排序之后,整个数组递增有序。**/int main(){int arr[5] = {5,4,3,2,1};void SelectSort( int array[], int n );SelectSort(arr,5);for( int i = 0; i < 5; i++ )std::cout<<arr[i]<<std::endl;return 0;}void SelectSort( int array[], int n ) {int i,j,k;for( i = 0; i < n-1; i++ ) {      //做n-1次排序k = i;for( j = i+1; j < n; j++) {if( array[j] < array[k] ) //在无顺序区选择最小的数k = j;}if( k != j ) {                //交换array[i]和array[k]int tmp = array[i];array[i] = array[k];array[k] = tmp;}}}

0 0
原创粉丝点击