java一行代码冒泡排序 java写一个冒泡排序代码

如何用java代码实现选择排序和冒泡排序

1.冒泡排序源码:

成都创新互联长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为静乐企业提供专业的网站设计制作、成都网站制作静乐网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

Java代码

float[] scores = {0.0f,2.0f,3.0f,1.0f}; 

//定义临时变量 

float temp = 0.0f; 

//进行冒泡排序:i控制比较多少轮,j控制每轮比较多少次 

for(int i = 0;i  scores.length - 1;i++){ 

for(int j=0;j  scores.length - 1 - i;j++){ 

if(scores[j]  scores[j+1]){ 

temp = scores[j]; 

scores[j] = scores[j+1]; 

scores[j+1] = temp; 

2.选择排序法源码:

Java代码  

float[] scores = {0.0f,2.0f,3.0f,1.0f}; 

//定义临时变量 

float temp = 0.0f; 

//找到最小值索引 

int min; 

for(int i=0;i  scores.length - 1;i++){ 

min = i; 

for(int j = i + 1;j  scores.length;j++){ 

if(scores[j]  scores[min]){ 

min = j; 

if(min != i){ 

temp = scores[min]; 

scores[min] = scores[i]; 

scores[i] = temp; 

}

java冒泡排序

依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。

由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。

for(int

j=0;j=len-i-1;j++),冒泡排序比较相邻的值,也就是a[j]和a[j+1]相比较

所以这段代码从a[0]开始与后面的a[1]比较,如果a[1]小于

a[0]就换。不小于j++,a[1]和[a2]比较,以此类推,直到比到a[len-i-1]时,也就比到了最后一个数组了。上层循环就是控制数组比较的长度。

java冒泡排序代码

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

冒泡排序算法的运作如下:

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

public class BubbleSort{  

public static void main(String[] args){  

int score[] = {67, 69, 75, 87, 89, 90, 99, 100};  

for (int i = 0; i  score.length -1; i++){    //最多做n-1趟排序  

for(int j = 0 ;j  score.length - i - 1; j++){    //对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的)  

if(score[j]  score[j + 1]){    //把小的值交换到后面  

int temp = score[j];  

score[j] = score[j + 1];  

score[j + 1] = temp;  

}  

}              

System.out.print("第" + (i + 1) + "次排序结果:");  

for(int a = 0; a  score.length; a++){  

System.out.print(score[a] + "\t");  

}  

System.out.println("");  

}  

System.out.print("最终排序结果:");  

for(int a = 0; a  score.length; a++){  

System.out.print(score[a] + "\t");  

}  

}  

}

java这个冒泡排序是怎么回事?

结果是对的啊,1 4 6 10 20,你把输出的部分放在大 for 循环里了。


网站名称:java一行代码冒泡排序 java写一个冒泡排序代码
分享路径:http://azwzsj.com/article/hijcod.html