zoukankan      html  css  js  c++  java
  • C语言复习---选择法排序

    选择排序也是一种简单直观的排序算法

    它的工作原理很容易理解:
    初始时在序列中找到最小(大)元素,放到序列的起始位置作为已排序序列;
    然后,再从剩余未排序元素中继续寻找最小(大)元素,放到已排序序列的末尾。
    以此类推,直到所有元素均排序完毕。

    选择排序与冒泡排序的区别

    冒泡排序通过依次交换相邻两个顺序不合法的元素位置,从而将当前最小(大)元素放到合适的位置;
    而选择排序每遍历一次都记住了当前最小(大)元素的位置,最后仅需一次交换操作即可将其放到合适的位置。

    例题:对10个整数进行选择排序

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int main()
    {
        int a[10] = { 0 };
        int minIndex, temp;
    
        //初始化数据
        for (int i = 0; i < 10;i++)
        {
            a[i] = rand() % 100;
        }
    
        for (int i = 0; i < 10; i++)
            printf("%d ", a[i]);
        printf("
    ");
    
        //进行选择排序
        for (int i = 0; i < 9;i++)
        {
            minIndex = i;
            for (int j = i + 1; j < 10;j++)
                if (a[minIndex]>a[j])
                    minIndex = j;
            if (minIndex != i)
            {
                temp = a[i];
                a[i] = a[minIndex];
                a[minIndex]=temp;
            }
        }
        //输出结果
        for (int i = 0; i < 10; i++)
            printf("%d ", a[i]);
    
        system("pause");
        return 0;
    }
  • 相关阅读:
    oracle锁---原理篇
    SML + NL + HJ
    Oracle中varchar,varchar2,nvarchar,nvarchar2的区别
    oracle 一致读原理
    commit 流程
    IMPDP NETWORK_LINK参数
    WINDOWS访问虚拟机RedHat搭配的Apache2服务器
    初识malloc函数
    好吧,又失眠
    休息一天
  • 原文地址:https://www.cnblogs.com/ssyfj/p/9389518.html
Copyright © 2011-2022 走看看