1.冒泡排序简介 (1)使用场景 当某数组中的元素需要按从小到大或者从大到小的顺序进行排列时; (2)方法 比较数组中相邻的两个元素,当进行从小到大排序时,如果第一个数比第二个数大,就交换着两个数;从大到小反之; 对每一组相邻的元素进行同样的操作,从开始第一队到结尾的最后一对; 当一次循环结束后,最 ...
分类:
编程语言 时间:
2020-04-25 18:48:05
阅读次数:
81
1. 冒泡排序 冒泡排序(Bubble Sort)是稳定排序,其基本思想是:遍历待排序列,依次两两比较,如果顺序错误就交换。如果从头开始遍历,把较大的交换到后面,结果就是越大的数据越往下沉,所以也可以称为“下沉排序”;如果从尾开始向前遍历,把较小的交换到前面,结果就是越小的数据越往上浮,这就是“冒泡 ...
分类:
编程语言 时间:
2020-04-25 18:45:52
阅读次数:
74
package arithmetic; import java.util.ArrayList; import java.util.Arrays; /** * @author hailu */ public class SelectionSort { public static void select ...
分类:
编程语言 时间:
2020-04-25 13:04:40
阅读次数:
68
https://www.cnblogs.com/xxtalhr/p/10787340.html def selection_sort(arr): """选择排序""" # 第一层for表示循环选择的遍数 for i in range(len(arr) - 1): # 将起始元素设为最小元素 min_ ...
分类:
编程语言 时间:
2020-04-25 12:30:05
阅读次数:
56
树的实际应用 堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序属于选择排序,其最好、最坏、平均时间复杂度均为 O(nlogn) ,他也是 不稳定排序 1. 堆介绍及最大最小堆 堆是具有以下性质的完全二叉树 每个结点的值都大于或等于其左右孩子结点的值,称为大项堆 每个结点的值都小于等于其 ...
分类:
编程语言 时间:
2020-04-24 20:06:27
阅读次数:
68
A - Buggy Sorting 1.题意 给定一个排序方法使n个数非降序排列,找出使它排序不成功的反例,没有反例则输出-1 。 2.题解 给定的排序方法类似于冒泡排序,用给定的方法试验即可。发现当n=1或n=2时,排序成功;当n>2时,对于一组降序数,排序会失败。 3.代码 1 #include ...
分类:
其他好文 时间:
2020-04-23 19:10:39
阅读次数:
54
/** *选择排序 * 逻辑是这样的: * 1. 先定义变量,用于记录某个值的索引,默认为最小值,从每次遍历的值开始拿 * 2. 第二层循环i+1开始,从默认最小值索引后面开始遍历,判断新的值是否小于最小值。 * 如果新的值小于最小值,将新的值的索引和最小值的索引进行替换,直到遍历结束。 * 3. ...
分类:
编程语言 时间:
2020-04-23 00:57:41
阅读次数:
93
Swift whit Xcode 使用冒泡排序,自定义Array<Any>数组排序方法,返回排序后的数组 一、设计思想: 1、定义一个方法,此方法接受一个inout标识的可变数组参数和变量方法声明(变量方法作用:参数值大小比较) 方法参数说明: 1-1、数组参数要设为可变参数 在类型前用inout标 ...
分类:
编程语言 时间:
2020-04-23 00:46:56
阅读次数:
91
冒泡排序(bubbleSort) 像气泡一样,将数组下标从下到上递增,放着,等待操作 (可以想象成指针操作) 1.指针指向最小下标元素 2.获取比他下标大一的元素的值 3.比较相邻元素大小,若当前指针所指元素比下一个元素大,交换数据 4.指针向前移一位。跳到2步骤 5.当指针所指尾结点与尾结点,比较 ...
分类:
编程语言 时间:
2020-04-21 18:17:32
阅读次数:
57
1交换排序 1.1交换排序 冒泡排序(从前向后冒泡) 1.2交换排序 选择排序(选择排序第i个位置的元素跟后面的其他元素比较,找到比第i个元素小且最小的元素,与它进行交换) 2插入排序 2.1直接插入排序(带有标志位的) 2.2直接插入排序(不带有标志位) 2.3希尔排序 2.4归并排序 "参考博文 ...
分类:
编程语言 时间:
2020-04-21 13:22:09
阅读次数:
68