Rumah  >  Artikel  >  pembangunan bahagian belakang  >  c语言如何实现选择排序算法(代码示例)

c语言如何实现选择排序算法(代码示例)

青灯夜游
青灯夜游asal
2019-03-01 15:29:4581190semak imbas

选择排序算法的基本思想就是依次选出数组最小的数放到数组的前面,在C语言中我们可以使用两个for循环,先从数组的第二个元素开始往后遍历,找出最小的数放到第一个位置,再从剩下数组中找出最小的数放到第二个位置,以此类推,直到数组有序。

c语言如何实现选择排序算法(代码示例)

选择排序法的实现原理:

先判断最小的数的下标是不是 0,如果不是则说明最小的数不是第一个元素,则将这个数与第一个元素互换位置,这样一轮下来最小的那个数就被找到并放到了最左边。

【视频教程推荐:C语言教程

代码示例:

使用选择排序法将一组手动输入的数据由小到大进行排序,数据分别为 52、36、2、39、56、45、78、92、15、52。

实现代码:

#include <stdio.h>
int main()
{
    int i,j,t,a[11];    //定义变量及数组为基本整型
    printf("请输入10个数:\n");
    for(i=1;i<11;i++)
        scanf("%d",&a[i]);    //从键盘中输入要排序的10个数字
    for(i=1;i<=9;i++)
        for (j=i+1;j<=10;j++)
            if(a[i]>a[j])    //如果前一个数比后一个数大,则利用中间变量t实现两值互换
            {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
    printf("排序后的顺序是:\n");
    for(i=1;i<=10;i++)
        printf("%5d", a[i]);    //输出排序后的数组
    printf("\n");
    return 0;
}

输出:

2.jpg

代码说明:

代码中使用了两个 for 循环语句。第一个 for 循环是确定位置的,该位置是存放每次从待排序数列中经选择和交换后所选出的最小数。第二个 for 循环是实现将确定位置上的数与后面待排序区间中的数进行比较的。

Atas ialah kandungan terperinci c语言如何实现选择排序算法(代码示例). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:c语言简单数据类型有哪些Artikel seterusnya:什么是变量的作用域

Artikel berkaitan

Lihat lagi