这次介绍的是最简单的冒泡排序.......好了废话不多说先看下面 #先定义一个变量,假设我们要排列下面列表中的元素的顺序 i= [10,4,7,2,1,9,6] #先分析一下 首先先弄懂冒泡排序,两两相比,第一位比第二位大的话,就相互换位置,.....依次类推,直到最后排完的顺序应该是[1,2,4, ...
分类:
编程语言 时间:
2020-05-18 00:33:34
阅读次数:
79
一、选择排序 1)图解 将上面的的这个图用选择排序,那么将是如下的方式来进行排序,看下图 上图用第一个元素依次和后面所有数进行比较,交换后的结果为 以此类推,用第二个数、第三个数、第四个数与后面的数进行比较 好了,到这里想必大家都明白了大概是怎么实现的了,现在我们就进入代码区来进行实现 2)代码(C ...
分类:
编程语言 时间:
2020-05-17 13:33:27
阅读次数:
70
冒泡排序|插入排序 标签(空格分隔): 数据结构和算法 冒泡排序 冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作 $array = [ ...
分类:
编程语言 时间:
2020-05-16 18:36:14
阅读次数:
64
语雀入口 https://www.yuque.com/along-n3gko/ezt5z9 冒泡排序 比较相邻的两个元素,如果前一个比后一个大,则交换位置。 比较完第一轮的时候,最后一个元素是最大的元素。 这时候最后一个元素是最大的,所以最后一个元素就不需要参与比较大小。 1 let arr = [ ...
分类:
编程语言 时间:
2020-05-16 12:13:53
阅读次数:
58
java排序 冒泡排序(相邻比较) 算法思路: 1、比较相邻的元素。如果第一个比第二个大,就交换它们两个; 2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数; 3、针对所有的元素重复以上的步骤,除了最后一个; 4、重复步骤1~3,直到排序完成。 pub ...
分类:
编程语言 时间:
2020-05-15 19:51:26
阅读次数:
73
思路:可以将第一次排序过程先写出来,当第i个元素大于第i+1个元素时,将两个元素位置进行交换,等于小于都不需要做任何操作 0~n-1是因为这个过程始终是第i个元素与其后一个元素相比较,不需要移动到最后一个元素 def bubble_sort(alist): n=len(alist) for i in ...
分类:
编程语言 时间:
2020-05-15 18:13:31
阅读次数:
60
数组(容器) 数组是一组数据类型相同的数据的组合,将这些数据统一的管理起来 数组本身是一个引用数据类型,数组内存储的类型可以是基本类型,也可以是引用类型 数组的特点 数组是一个引用数据类型 数组是在堆内存中的一串连续的地址存在 数组在初始化时必须指定长度 堆内存的数组空间长度一旦确定,不能再发生改变 ...
分类:
编程语言 时间:
2020-05-15 18:11:40
阅读次数:
73
选择排序是冒泡排序的一种改进,相比于之前的衡量尺,选择排序获取的不是符合衡量尺的元素的值 而是元素,相比于冒泡排序,冒出一个数只需要交换一次数值 public static void comnpare1(int[] arr) { for (int i = 0; i < arr.length; i++ ...
分类:
编程语言 时间:
2020-05-15 17:56:20
阅读次数:
57
冒泡排序算法就是遍历数组,取出一个衡量尺,拿这个衡量尺和其他的所有数据比较,如果其他数的值比衡量尺大(小) 则更换两个数的值,并更换衡量尺,总而言之,衡量尺一定是目前遍历到的元素中最大(小)的值 因为元素都是在每一次遍历之后一次一次的冒出来,所以该算法叫冒泡算法 代码: public static ...
分类:
编程语言 时间:
2020-05-15 17:29:09
阅读次数:
70
选择排序,时间复杂度 O(n^2), 下面要注意c语言传参入数组传入的是地址!,所以用sizeof求数组大小的时候,在自定义函数中求出来的sizeof(arr)就是指针的大小,为4;64位系统的话是8; 所以要在main函数中传入自定义方法给数组大小 1 #include <stdio.h> 2 # ...
分类:
编程语言 时间:
2020-05-14 16:01:04
阅读次数:
69