美文网首页
常见排序算法(2)--简单选择排序

常见排序算法(2)--简单选择排序

作者: Jack_deng | 来源:发表于2019-05-15 20:55 被阅读0次

简单选择排序也比较简单,不过效率比前面的未优化版的冒泡排序会略微高一些,下面我们看看简单选择排序的代码吧。

void SelectSort(int *arr,int length)
{
    for (int i = 0; i < length-1; i++)
    {
        int min = i;
        for (int j = i+1; j < length; j++)
        {
            if (arr[min] > arr[j])
            {
                min = j;
            }
        }
        if (min != i)
        {
            swap(arr, min, i);
        }
    }
}

其实简单选择排序跟上一篇文章的冒泡排序1很像,唯一的区别就是简单选择排序用了一个min记录最小元素的序列号,待外循环执行完一次的时候,如果min!=i,则说明min的值有了改变,需要交换下标i和下标min元素的值。外循环每执行一次,就确保arr[i]是当前的最小值。
简单选择排序比冒泡排序1效率高的地方是,冒泡排序1的进行一次外循环的时候,可能会进行多次交换,而简单选择排序一次外循环最多进行一次交换。

相关文章

  • 常用排序算法实现

    1、常见排序算法大致有以下几种:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序2、各种排序算法...

  • 排序算法

    常见排序算法及JAVA实现 简单选择排序(SelectSort) 选择排序思想很简单,对所有元素进行遍历,选出最小...

  • LeetCode大全

    1.常见排序算法: 常见的排序算法:冒泡排序、选择排序、插入排序、归并排序、快速排序、希尔排序、堆排序、计数排序、...

  • 常见排序算法集锦

    一般而言,常见的排序算法包括以下几类: 交换排序:冒泡排序 快速排序 选择排序:简单选择排序 堆排序 插入排序:直...

  • 常见的排序算法(JavaScript实现)

    摘要:本文简单介绍几个常见的排序算法,包括:冒泡排序、选择排序、插入排序、快速排序、归并排序、希尔排序。列出的代码...

  • Python知识点:常见算法的python实现

    提到排序算法,常见的有如下几种:冒泡排序、选择排序、插入排序、快速排序、堆排序、归并排序、希尔排序;查找算法最常见...

  • IOS常见算法

    常见算法: 快速排序: 选择排序: 冒泡排序: 测试代码:

  • 排序算法☞冒泡排序,插入排序,选择排序

    排序算法有很多,这里简单谈谈冒泡,插入,选择排序算法:1、冒泡排序:这个应该是比较常见,而且面试经常会考的。该排序...

  • PHP常用算法

    基于选择的排序算法 常见的基于选择的排序算法有:冒泡排序、插入排序、选择排序、归并排序和快速排序,我们在选在排序算...

  • 排序算法

    常见的排序算法 常见的排序算法有:插入、希尔、选择、冒泡、归并、快速、堆排序。。。 插入排序 算法步骤一、从数组的...

网友评论

      本文标题:常见排序算法(2)--简单选择排序

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