算法:冒泡排序

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6


算法:冒泡排序_冒泡排序


冒泡排序:

每次遍历将最大的数放到最后。

int a[]= {78,15,1,2,8,45,21,63,68,23};

如果我们有a这样10个元素的数组,用冒泡排序就是进行10次循环。

第一循环将78放到最后,

第二次循环比较剩下的9个数,将68放在剩下9个数的最后,整体的倒数第二。

代码实现:

这里谷咕咕还放了,正常的排序大家比较一下

public class test {
public static void main(String arg[]) {
int a[]= {78,15,1,2,8,45,21,63,68,23};
int t=0;
//排序
for(int i=0;i<a.length-1;i++) {//相比较正常排序用外循环的数与内循环的数想比较
for(int j=i+1;j<a.length;j++) {
if(a[i]>a[j]) {
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(int k=0;k<a.length;k++) {
System.out.print(a[k]+" ");
}
System.out.println();
//冒泡排序
int b[]= {78,15,1,2,8,45,21,63,68,23};
int q=0;
for(int x=0;x<b.length;x++) {//外层循环不参与比较,只是数组循环次数
for(int y=0;y<b.length-x-1;y++) {//内层循环进行比较前后的两个元素的大小,大的放后面,length-x是每次循环剩余的元素个数,length-x-1因为比较是前后两个数,不能下标越界。
if(b[y]>b[y+1]) {
q=b[y];
b[y]=b[y+1];
b[y+1]=q;
}
}
}
for(int z=0;z<b.length;z++) {
System.out.print(b[z]+" ");
}

}

}


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6