个人觉得 直接选择是最简单的一种排序了 步骤 从待排序序列中,找到最小的元素; 如果最小元素不是待排序序列的第一个元素,将其和最后一个元素互换; 从余下的 N - 1 个元素中,找出关键字最小或最大的元素,重复(1)、(2)步,直到排序结束。 第一个数和第二个,第三个..最后一个数比较, 每次比较选 ...
分类:
编程语言 时间:
2020-02-20 09:31:35
阅读次数:
63
Java实现的5大排序算法 1、Java排序算法之选择排序 选择排序的基本思想是遍历数组的过程中,以i代表当前需要排序的序号,则需要在剩余的[i…n-1]中找出其中的最小值,然后将找到的最小值与i指向的值进行交换。因为每一趟确定元素的过程中都会有一个选择最大值的子流程,所以人们形象地称之为选择排序。 举个实例来看看: 1.初始:[38,17,16,16,7,31,39,32,2,11]
分类:
编程语言 时间:
2020-02-20 09:16:17
阅读次数:
70
冒泡排序——又一个无比经典的排序算法。而这个算法的名字由来是因为这个算法会让越大的元素会经过交换慢慢“浮”到数列的顶端,就如同气泡一样,大的会上浮到顶端,故名“冒泡排序”。 ...
分类:
编程语言 时间:
2020-02-19 12:59:22
阅读次数:
78
package test; / Created with IntelliJ IDEA. User: 郭金荣 Date: 2020/2/18 0015 Time: 19:10 E mail:1460595002@qq.com 类说明:首先创建一个长度是5的数组,并填充随机数。 用选择排序从小到大排序, ...
分类:
编程语言 时间:
2020-02-19 11:37:09
阅读次数:
102
1. 思想 n个数据,总共进行n 1次大的循环 ,得到一个按从小到大排列的有序序列: 1. 第 1 次从 arr[0]~arr[n 1] 中选取最小值,与 arr[0] 交换 2. 第 2 次从 arr[1]~arr[n 1] 中选取最小值,与 arr[1] 交换 3. 第 3 次从 arr[2]~ ...
分类:
编程语言 时间:
2020-02-18 20:49:21
阅读次数:
77
选择排序 概念: 将原始的列表分为两组:一组认为是排序好的(默认升序),另一组认为是未排序,重点是放在未排序部分; 第一轮:默认位置0上的元素是最小的,然后对比其他位置元素将位置0上的元素与真正最小元素进行调换; 第二轮:默认位置1上的元素是最小的,然后对比其他位置元素将位置1上的元素与真正次二小元 ...
分类:
编程语言 时间:
2020-02-18 14:44:40
阅读次数:
62
https://www.runoob.com/w3cnote/radix-sort.html 算法系列 1.0 十大经典排序算法 1.1 冒泡排序 1.2 选择排序 1.3 插入排序 1.4 希尔排序 1.5 归并排序 1.6 快速排序 1.7 堆排序 1.8 计数排序 1.9 桶排序 1.10 基 ...
分类:
编程语言 时间:
2020-02-17 12:27:17
阅读次数:
57
又到了算法时间,今天我们来学第二种算法 选择排序。这里有个表格,记录了乐队及其作品的播放次数,如下: 要将它们按播放次数从多到少排序,要怎么做呢?有一种方法是这样子的,遍历列表,找出播放次数最多的乐队,将这个乐队添加到一个新的列表中。 再次这样做,找出第二多的乐队。 循环上述做法,最终便可得到一个有 ...
分类:
编程语言 时间:
2020-02-16 23:30:40
阅读次数:
129
实现思想: 1.寻找[i, n)区间里的最小值min ( i>= 0 ) 2.交换min和第i的数 ( i>= 0 ) #include <iostream> #include <algorithm> using namespace std; void selectionSort(int arr[] ...
分类:
编程语言 时间:
2020-02-16 20:36:25
阅读次数:
76