java冒泡排序法代码 (java冒泡排序最简单写法)
本文目录导航:
java冒泡排序法代码
冒泡排序是比拟经典的排序算法。代码如下:
for(int i=1;i<;i++){for(int j=1;j<-i;j++){//替换位置}
拓展资料:
原理:比拟两个相邻的元素,将值大的元素替换至右端。
思绪:依次比拟相邻的两个数,将小数放在前面,大数放在前面。
即在第一趟:首先比拟第1个和第2个数,将小数放前,大数放后。
而后比拟第2个数和第3个数,将小数放前,大数放后,如此继续,直至比拟最后两个数,将小数放前,大数放后。
重复第一趟步骤,直至所有排序实现。
第一趟比拟实现后,最后一个数必定是数组中最大的一个数,所以第二趟比拟的时刻最后一个数不介入比拟;
第二趟比拟实现后,倒数第二个数也必定是数组中第二大的数,所以第三趟比拟的时刻最后两个数不介入比拟;
依次类推,每一趟比拟次数-1;
举例说明:要排序数组:int[]arr={6,3,8,2,9,1};
for(int i=1;i<;i++){for(int j=1;j<-i;j++){//替换位置}
参考资料:冒泡排序原理
java冒泡排序具体解说
首先无论是哪种言语,各种排序的算法思维都是一样的。
冒泡排序的算法思维是:1、比拟相邻的元素。
假设第一个比第二个大,就替换他们两个。
2、对每一对相邻元素作雷同的上班,从开局第一对到开头的最后一对。
在这一点,最后的元素应该会是最大的数。
3、针对一切的元素重复以上的步骤,除了最后一个。
4、继续每次对越来越少的元素重复下面的步骤,直到没有任何一对数字须要比拟。
代码剖析:你的代码中外层第一次性循环首先将数组中的各个元素与temp[1]比拟,也就是数组中的第二个元素,内层循环中,每次循环都会判别,temp[1]与其余元素的大小。
假设有元素的值比temp[1]大,就讲他们你的值替换,经常使用替换后的值继续依次与未经比拟的值启动比拟,直到与一切的元素比拟完,这是第一趟排序。
第一趟排序中,外层循环只口头了一次性,内层循环每比拟一次性,循环一次性,所以内层循环口头了次。
第一趟排序找出了数组中最大的数,放在数组的最后一位置。
。
。
依此类推,第二趟排序找出第二大的数放在倒数第二的位置。
其后的每一次性循环以此类推。
Java冒泡排序的原理?
冒泡排序是所欲排序算法里最好了解的了。
1、排序算法:A)比拟相邻的元素。
假设第一个比第二个大,就替换他们两个。
B)对每一对相邻元素作雷同的上班,从开局第一对到开头的最后一对。
在这一点,最后的元素应该会是最大的数。
C)针对一切的元素重复以上的步骤,除了最后一个。
D)继续每次对越来越少的元素重复下面的步骤,直到没有任何一对数字须要比拟。
2、给你一个java的实现代码:public class BubbleSort{public static void main(String[] args){int score[] = {67, 69, 75, 87, 89, 90, 99, 100};for (int i = 0; i < -1; i++){ //最多做n-1趟排序for(int j = 0 ;j < - i - 1; j++){ //对以后无序区间score[-i-1]启动排序(j的范畴很主要,这个范畴是在逐渐增加的)if(score[j] < score[j + 1]){ //把小的值替换到前面int temp = score[j];score[j] = score[j + 1];score[j + 1] = temp;}}(第 + (i + 1) + 次排序结果:);for(int a = 0; a < ; a++){(score[a] + \t);}();}(最终排序结果:);for(int a = 0; a < ; a++){(score[a] + \t);}}}