java冒泡排序详细讲解

冒泡排序的算法思想是:1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3、针对所有的元素重复以上的步骤,除了最后一个。4、持续每次对越来越少的元素重复上面的步骤,直到没...
java冒泡排序详细讲解
就是 一组数字组成的数组,两两比较,大的数往后推,小的数向前

从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移。每经过一趟排序后,关键字值最大的元素将移到末尾,此时记下该元素的位置,下一趟排序只需要比较到此位置为止,直到所有元素都已有序排列。2015-07-24
首先无论是哪种语言,各种排序的算法思想都是一样的。
冒泡排序的算法思想是:1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3、针对所有的元素重复以上的步骤,除了最后一个。4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

代码分析:你的代码中外层第一次循环首先将数组中的各个元素与temp[1]比较,也就是数组中的第二个元素,内层循环中,每次循环都会判断,temp[1]与其他元素的大小。如果有元素的值比temp[1]大,就讲他们你的值交换,使用交换后的值继续依次与未经比较的值进行比较,直到与所有的元素比较完,这是第一趟排序。第一趟排序中,外层循环只执行了一次,内层循环每比较一次,循环一次,所以内层循环执行了temp.length次。第一趟排序找出了数组中最大的数,放在数组的最后一位置。。。依此类推,第二趟排序找出第二大的数放在倒数第二的位置。其后的每一次循环以此类推。2015-07-24
如果temp[i]<temp[j],则将前者中的值赋值给x,然后将后者中的值赋值给前者,
比如有个数组{3,5}temp[0]=3,temp[1]=5,声明个变量x。
3<5所以执行if中的语句,x=temp[0]=3,temp[0]=temp[1]=5,temp[1]=x=32015-07-24
mengvlog 阅读 33 次 更新于 2025-08-11 14:00:46 我来答关注问题0
  • 首先无论是哪种语言,各种排序的算法思想都是一样的。冒泡排序的算法思想是:1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3、针对所有的元素重复以上的步骤,除了最后一个。

  • 具体算法如下: void BubbleSort(SeqList R){ //R(1..n) 是待排序的文件,采用自下向上扫描,对 R 做冒泡排序 int i,j; Boolean exchange; // 交换标志 for(i=1;i=i;j--...

  • 因为使用冒泡排序时,一次外循环只能归位一个值,有n个元素最多就要执行(n-1)次外循环。而使用快速排序时,一次可以将所有元素按大小分成两堆,也就是平均情况下需要logn轮就可以完成排序。 快速排序的思想是:每趟排序时选出一个基准值(这里以首元素为基准值),然后将所有元素与该基准值比较,并按大小分成左右两堆,...

  • 冒泡排序 (1)基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。(2)用java实现 ubli cclass bubbleSort { public ...

  • 在Java中对类数组进行排序时,采用冒泡排序法是最直观的方法之一。具体来说,我们可以使用嵌套的for循环结构。首先,我们通过一个外循环遍历数组的每个元素,而内循环则用于比较当前元素与后续元素的值。我们还需要一个临时变量temp,用于临时存储交换过程中需要移动的值。在开始排序之前,假设我们有一个长度...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部