1209.3——选择排序算法

#include <stdio.h>

//选择排序

void selectSort(int array[], int elementNum){

    int k = 0;//记录最小的那个数的索引值

    for (int i = 0; i < elementNum-1; i++) {

        k = i;

        

        //下面这个循环就是去寻找最小的那个数的index

        for (int j = i+1 ; j < elementNum; j++) {

            if (array[k] > array[j]){

                //有比k对应的值更小的

                k = j;

            }

        }

        

        //判断是否需要交换

        int temp;

        if (k != i){

            //k和i对应的值交换

            temp = array[i];

            array[i] = array[k];

            array[k] = temp;

        }

    }

}

 

int main(int argc, const char * argv[]) {

    int array[] = {1,25,8,22,2};

    

    selectSort(array, 5);

    

    for (int i = 0; i < 5; i++) {

        printf("%d ", array[i]);

    }

    printf("\n");

    return 0;

}

 

posted @ 2015-12-09 19:12  王权  阅读(126)  评论(0编辑  收藏  举报