首页 > 代码库 > C语言选择排序

C语言选择排序

//选择排序,前提必须了解找到数组中最小数和最大数的算法# include<stdio.h># include<stdlib.h># include<time.h>int main(){    //利用时间随机数生成数组    time_t ts;    unsigned int data = http://www.mamicode.com/time(&ts);    srand(data);    int a[10];    for (int i = 0; i < 10; i++)    {        a[i] = rand() % 100;        printf("%d\n", a[i]);    }    for (int i = 0; i < 9; i++)    {        int min = i; //假设把第一个数当作最小的数        printf("\n%d,%d,%d,%d", i, min, a[i], a[min]);//注意按列观察        for (int j = i + 1; j < 10; j++)//定义变量j来遍历,注意遍历的开始是第二为开始的        {            if (a[j] < a[min])//如果有一个数比下标为min的数还小,就把小的数的下标给min            {                min = j;            }        }        if (min != i)//如果min和之前的i不一样,那么就得交换了        {            int t = a[min];            a[min] = a[i];            a[i] = t;        }    }    for (int i = 0; i < 10; i++)    {        printf("%d ", a[i]);    }    system("pause");}

 

C语言选择排序