选择排序解析 + 代码实现(C语言)

Posted Stevin的技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了选择排序解析 + 代码实现(C语言)相关的知识,希望对你有一定的参考价值。

选择排序解析 + 代码实现(C语言)

选择排序思路:若是正序(从小到大)排列,从第一个元素开始,用每一个元素和当前元素后面的元素进行比较,若当前元素值大于后面的元素,则交换位置,否则继续往后比较。
C语言代码实现
#include <stdio.h>

int main(int argc, const char * argv[]) {
    
    int arr[10] = {1,2,6,5,4,3,9,8,7,0}; //定义一个装10个整型元素的数组,并初始化

    for (int i = 0; i < 9; i++) { //从第一个元素开始,每一个元素(下标为i)和后面的元素进行比较
        for (int j = i + 1; j < 10; j++) { //i后面的元素
            if (arr[i] > arr[j]) {
                int temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
        // 每一趟比较过程打印
        for (int i = 0; i < 10; i++) {
            printf(" =>%d",arr[i]);
        }
        printf("\\n");
    }
    return 0;
}

// 打印结果
 =>0 =>2 =>6 =>5 =>4 =>3 =>9 =>8 =>7 =>1
 =>0 =>1 =>6 =>5 =>4 =>3 =>9 =>8 =>7 =>2
 =>0 =>1 =>2 =>6 =>5 =>4 =>9 =>8 =>7 =>3
 =>0 =>1 =>2 =>3 =>6 =>5 =>9 =>8 =>7 =>4
 =>0 =>1 =>2 =>3 =>4 =>6 =>9 =>8 =>7 =>5
 =>0 =>1 =>2 =>3 =>4 =>5 =>9 =>8 =>7 =>6
 =>0 =>1 =>2 =>3 =>4 =>5 =>6 =>9 =>8 =>7
 =>0 =>1 =>2 =>3 =>4 =>5 =>6 =>7 =>9 =>8
 =>0 =>1 =>2 =>3 =>4 =>5 =>6 =>7 =>8 =>9

以上是关于选择排序解析 + 代码实现(C语言)的主要内容,如果未能解决你的问题,请参考以下文章

冒泡排序解析 + 代码实现(C语言)

冒泡排序解析 + 代码实现(C语言)

8种面试经典!排序详解--选择,插入,希尔,冒泡,堆排,3种快排,快排非递归,归并,归并非递归,计数(图+C语言代码+时间复杂度)

8种面试经典排序详解--选择,插入,希尔,冒泡,堆排,3种快排及非递归,归并及非递归,计数(图+C语言代码+时间复杂度)

8种面试经典排序详解--选择,插入,希尔,冒泡,堆排,3种快排及非递归,归并及非递归,计数(图+C语言代码+时间复杂度)

八大排序算法C语言过程图解+代码实现(插入,希尔,选择,堆排,冒泡,快排,归并,计数)