【排序】选择排序算法

1.简单选择排序(Simple Selection Sort)

在要排序的一组数中,选择最小的记录与第一个位置的记录交换;然后在剩下的数中,选择最小的记录与第二个位置的记录交换...以此类推,直到第n-1个数与第n个数比较为止。

  • 选择排序示例:

第一排为初始表,前面斜体加粗记录为有序表,紧接着加粗记录为待被交换记录,有序表后斜体加黑记录为符合条件的待交换记录

外层循环
i = 1 23 15 30 1 27 16 54 56 28 10
i = 2 1 15 30 23 27 16 54 56 28 10
i = 3 1 10 30 23 27 16 54 56 28 15
i = 4 1 10 15 23 27 16 54 56 28 30
i = 5 1 10 15 16 27 23 54 56 28 30
i = 6 1 10 15 16 23 27 54 56 28 30
i = 7 1 10 15 16 23 27 54 56 28 30
i = 8 1 10 15 16 23 27 28 56 54 30
i = 9 1 10 15 16 23 27 28 30 54 56
i = 10 1 10 15 16 23 27 28 30 54 56
  • 选择排序代码示例:
    private static void simpleSelectSort(int a[], int n)
    {
        for (int i = 0; i < n; i++)
        {
            int min = i;
            for (int j = i+1; j < n; j++)
            {
                if (a[j] < a[min])
                {
                    min = j;
                }
            }
            if (min != i)
            {
                int tmp = a[i];
                a[i] = a[min];
                a[min] = tmp;
            }
        }
    }

2.二元选择排序

3.堆排序

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 经典排序算法 - 选择排序Selection sort 顾名思意,就是直接从待排序数组里选择一个最小(或最大)的数...
    LeafRead阅读 992评论 0 4
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,224评论 0 52
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 3,747评论 0 15
  • 概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的...
    Luc_阅读 2,309评论 0 35
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到已排序好...
    依依玖玥阅读 1,287评论 0 2