C语言排序算法积累(2)选择排序

选择排序法是一种排序算法,跟冒泡算法一样也是一种常用的排序算法。
例如将int arr[]数组内的元素按照升序排序

原理:通过循环嵌套,将前后两个数比较大小,如果前者比后者大,两者交换位置。


两个循环之间的关系比较紧密,切勿不可写错。


代码:

#include
void main()
{
    //定义数组
    int arr[] = { 1,0,5,3,2,1,7,3,5,6 };
    //升序
    for (int i = 0; i < sizeof(arr) / sizeof(arr[0]) - 1; i++)
        for (int j = i + 1; j < sizeof(arr) / sizeof(arr[0]); j++)
            if (arr[i] > arr[j])//如果是降序则相反
            {
                int tmp = arr[i];
                arr[i] = arr[j];
                arr[j] = tmp;
            }
    for (int i = 0; i < 10; i++)
        printf("%d ", arr[i]);
}

你可能感兴趣的:(C语言排序算法积累(2)选择排序)