首页 > 代码库 > 排序算法之一---选择排序

排序算法之一---选择排序

选择排序的基本思想:每次选择未排序元素中的最小(非增序列)或者最大(非减序列)的一个一次加入到已排序序列后面,直到所有元素都排序完

 

#include <stdio.h>void selection_sort(int arr[],int length){    int i,j;    for (i = 0; i < length; i++){        int minval_index = i;        for (j = i+1; j < length; j++){            if (arr[j] < arr[minval_index]){                minval_index = j;            }        }        int temp = arr[i];        arr[i] = arr[minval_index];        arr[minval_index] = temp;    }}int main(int argc, char **argv){    int arr[] = {6,4,5,67,78,45,534,5,57,65,75,346,8,54};    selection_sort(arr,sizeof(arr)/sizeof(int));    int i;    for (i = 0; i < sizeof(arr)/sizeof(int); i++){        printf("%d ",arr[i]);    }        return 0;}

 

排序算法之一---选择排序