您的位置:首页 > 其它

数组的冒泡排序

2017-09-08 10:20 225 查看

一.思路

将数组的元素逐个比较,数值大的排到后面,依次循环,可以得出末尾下标的值即数组的最大值。虚拟链接线好比数组的上方出现了气泡,所以称为冒泡排序。



二.代码

Ⅰ.初步代码实现

①利用重复循环,将最大值丢到数组最右下标。实现依次排列。

//冒泡排序
import java.util.Arrays;
import java.util.Scanner;
public class ary{
public static void main(String[] args){
int[] ary={12,25,32,5,65,35,6};
//选出最大数组中最大的元素,丢到下标length-1的位置。依次嵌套循环
for(int i=0;i<ary.length-1;i++){
int t=ary[i];
if(ary[i+1]<ary[i]){
ary[i]=ary[i+1];
ary[i+1]=t;
}
}
for(int i=0;i<ary.length-2;i++){
int t=ary[i];
if(ary[i+1]<ary[i]){
ary[i]=ary[i+1];
ary[i+1]=t;
}
}
for(int i=0;i<ary.length-3;i++){
int t=ary[i];
if(ary[i+1]<ary[i]){
ary[i]=ary[i+1];
ary[i+1]=t;
}
}
for(int i=0;i<ary.length-4;i++){
int t=ary[i];
if(ary[i+1]<ary[i]){
ary[i]=ary[i+1];
ary[i+1]=t;
}
for(int i=0;i<ary.length-5;i++){
int t=ary[i];
if(ary[i+1]<ary[i]){
ary[i]=ary[i+1];
ary[i+1]=t;
}
}
}
System.out.println(Arrays.toString(ary));
}
}


Ⅱ.代码改进

①利用嵌套循环节省代码,实现重复循环。

//冒泡排序
import java.util.Arrays;
import java.util.Scanner;
public class ary{
public static void main(String[] args){
int[] ary={12,25,32,5,65,35,6};
//选出最大数组中最大的元素,丢到下标length-1的位置。依次嵌套循环
for(int j=0;j<ary.length-1;j++){
for(int i=0;i<ary.length-1;i++){
int t=ary[i];
if(ary[i+1]<ary[i]){
ary[i]=ary[i+1];
ary[i+1]=t;
}
}
}
System.out.println(Arrays.toString(ary));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: