美文网首页
选择排序--简单选择排序

选择排序--简单选择排序

作者: Caesar少校 | 来源:发表于2016-11-30 10:45 被阅读5次

基本思想:第 i 趟排序在待排序序列r[i]~rn中选取关键码最小的记录,并和第 i 个记录交换作为有序序列的第 i 个记录。

//简单选择排序算法
void SelectSort(int r[], int n)         //用0号单元作为交换操作的暂存单元
{
    for (int i = 0; i < n; i++)         //对n个记录进行n-1趟简单选择排序
    {
        int index = i;
        for (int j = i + 1; j <= n; j++)//在无序区中选取最小记录
            if (r[j] < r[index])
                index = j;
        if (index != i)
        {
            int temp = r[i];
            r[i] = r[index];
            r[index] = temp;
        }
    }
}

时间复杂度为O(n^2)
简单选择排序是一种不稳定的排序方式

相关文章

  • 选择排序-c语言描述

    选择排序分简单选择排序与堆排序两种,先介绍简单选择排序。1.简单选择排序在未排序的序列中找到最小(大)元素,存放到...

  • 基础算法|简单选择排序

    简单选择排序是一种排序算法,指在简单选择排序过程中,所需移动记录的次数比较少。简单选择排序是不稳定排序。 简单选择...

  • 常用排序算法(Python实现), 持续更新中

    一、非线性时间比较类排序 交换排序冒泡排序快速排序 插入排序简单插入排序希尔排序 选择排序简单选择排序堆排序 归并...

  • 给自己备份的排序代码

    交换排序 冒泡排序 快速排序 插入排序 直接插入排序 希尔排序 选择排序 简单选择排序 堆排序

  • 排序法

    排序分 内部排序和外部排序 内部排序: 插入排序:{直接插入排序,希尔排序} 选择排序:{简单选择排序,堆排序} ...

  • 算法与数据结构知识汇总(八、常见的八大排序算法)

    排序技术有:插入排序(直接插入排序、希尔排序)、选择排序(简单选择排序、堆排序)、交换排序(冒泡排序、快速排序)、...

  • IOS 常用算法

    一:排序算法 排序方式有插入排序,选择排序和交换排序三种。插入排序有直接插入排序和希尔排序。选择排序有简单选择排序...

  • 排序算法

    排序算法 非线性时间比较类排序 交换排序 冒泡排序 快速排序 插入排序 插入排序 希尔排序 选择排序 简单选择排序...

  • 七大排序算法总结

    题记: 直接插入排序(稳定)-->希尔排序 : 属于插入排序 简单选择排序(稳定)-->堆排序 :属于选择排序...

  • PHP 实现选择排序

    导语 这篇说下选择排序。 选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理...

网友评论

      本文标题:选择排序--简单选择排序

      本文链接:https://www.haomeiwen.com/subject/ndzzpttx.html