常用的排序算法主要包括:1、插入排序直接插入排序希尔排序2、交换排序冒泡排序快速排序3、选择排序简单选择排序堆排序快速排序4、归并排序其中,冒泡排序算是最简单的一种排序算法排序思想:对一组数字进行从小到大或者从大到小的进行排序。它是通过让相邻的两个元素进行比较,大的元素向下沉,小的元素向上冒arr[0]与arr[1]进行比较,如果前者大于后者,则交换位置然后arr[1]与arr[2]进行比较,以此
原创
2018-05-06 08:04:46
9769阅读
点赞
知识点:判断是否有序;判断有序无序的边界 最初的版本 def bubble_sort_v1(array=[]): for i in range(len(array)-1): for j in range(len(array)-i-1): if array[j] > array[j+1]: temp ...
转载
2021-09-26 16:36:00
55阅读
2评论
####冒泡排序优化(直接搞最优版,不罗里巴叽的) function BubbleSort(arr) { let k = arr.length - 1, pos = 0 for(let i = 0; i < arr.length; i++) { let flag = true for(let j = ...
转载
2021-09-23 14:02:00
44阅读
2评论
冒泡排序的优化主要是三个点:1.使用异或运算,使元素交换时不用临时变量: array[j] ^= array[j + 1]; array[j + 1] ^= array[j]; array[j] ^= array[j + 1]; 2.在外部循环时,设置一个标记,如果整轮比较之后,内部元素交换都没有交 ...
转载
2021-09-17 21:46:00
108阅读
2评论
普通的冒泡排序就是这样:public void bubbleSort(int[] a) { for(int i = a.length - 1; i > 0; i--) {
原创
2022-06-09 16:03:53
51阅读
冒泡排序算法是我们学习数据结构时所接触到的第一个排序算法,因为其思想比较简单,易于理解,和其形象化的特点。也被我们称之为起泡排序。 冒泡排序就像鱼吐泡泡的过程,最大的最先浮上来一次是次大的。从第一个
原创
2021-12-28 12:19:28
1383阅读
1.基础版本 public static void main(String[] args){ int[] arr1= {1,2,6,36,10
原创
2023-01-10 11:26:29
55阅读
应该是大多数人接触的第一种排序方法,虽然它的时间复杂度为O(n
原创
2023-03-22 15:08:16
194阅读
排序,就是把一个乱序的数组,通过代码的处理,让它变成一个有序的数组。冒泡排序(Bubble Sort)和选择排序都是简单直观的排序算法。今天我们来用JS实现冒泡排序和选择排序。 学习排序就会涉及到交换,那么如何交换呢?交换分为两种情况:相邻两两比较,按一定顺序交换(冒泡排序)拿一个数去跟假设的值比较,条件不符合则交换(选择排序)由此引申出以下两种排序算法:1.冒泡排序冒泡排序算法的原理如下: a.
转载
2023-09-07 14:58:32
74阅读
●冒泡排序法void bubblesort(int *arr,int n){ int i=0; int j=0; for(i=0;i<n-1;i++) //注意判定条件 { for(j=0;j<n-i-1;j++) //注意判定条件 { if(arr[j]>arr[j+1]) { int temp=arr[j+1]; arr[j+1]=arr[j]; arr[j]=temp; } } } }int ma
原创
2022-01-12 11:52:27
148阅读
以下是Python实现冒泡排序的代码:格式有点问题,重新调整一下,如下:def bubbleSort(nums):
# 设置一个flag,用来判断某次循环是否发生了交换
flag = True
for i in range(len(nums) - 1):
for j in range(len(nums) - 1 - i):
if nu
转载
2023-06-13 21:18:36
110阅读
其实,我们可以把之前的冒泡排序的算法优化一下,基于冒泡排序的以下特点: 1.整个数列分成两部分:前面是无序数列,后面是有序数列。 2.初始状态下,整个数列都是无序的,有序数列是空。 3.每一趟循环可以让无序数列中最大数排到最后,(也就是说有序数列的元素个数增加1),也就是不用再去顾及有序序列。 4. ...
转载
2021-09-20 10:29:00
118阅读
2评论
1.冒泡排序冒泡排序(Bubble Sort)是最经典也是最简单的排序算法之一。原理:比较相邻的两个元素,将值大的元素交换到右边(降序则相反).步骤:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对
转载
2023-07-16 21:53:06
76阅读
一、什么是冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同
转载
2023-09-19 21:18:24
59阅读
冒泡排序及其优化一般方法//假设排序arr[] = { 1, 3, 4, 2, 6, 7, 8, 0 };void BubbleSort(int arr[],int len){ int i = 0; int tmp = 0; for (i = 0; i < len - 1; i++)//确定排序趟数 { int j = 0; for (j
转载
2022-11-08 19:06:15
46阅读
先写一个交换位置的方法,以后会用到: function swap(a, b, arr) { let temp = arr[a] arr[a] = arr[b] arr[b] = temp }冒泡排序的基本写法如下: function bubble(arr) { let len = arr.length; for (let ...
原创
2022-11-23 00:10:41
35阅读