数组排序
int[] arrs={3,15,7,28,9};
编写程序,让arrs是有序的(小-大 或者 大-小)
冒泡排序原理
冒第一个泡,写一个循环,让数组中最大的值出现在数组的最后一个位置
冒第二个泡,写一个循环,让数组中第二大的值出现在数组的倒数第二个位置
...
两两对比,大值放在后面。
原理代码如下:
//冒泡排序原理程序
int[] arrs3={3,15,7,28,9};
//冒第一个泡
for(int i=0;i<arrs3.length-1;i++){
if(arrs3[i]>arrs3[i+1]){
int temp=0;
temp=arrs3[i];
arrs3[i]=arrs3[i+1];
arrs3[i+1]=temp;
}
}
//System.out.println(arrs3[4]);//检查
//冒第二个泡
for(int i=0;i<arrs3.length-1-1;i++){
if(arrs3[i]>arrs3[i+1]){
int temp=0;
temp=arrs3[i];
arrs3[i]=arrs3[i+1];
arrs3[i+1]=temp;
}
}
//冒第三个泡
for(int i=0;i<arrs3.length-3;i++){
if(arrs3[i]>arrs3[i+1]){
int temp=0;
temp=arrs3[i];
arrs3[i]=arrs3[i+1];
arrs3[i+1]=temp;
}
}
//冒第四个泡
for(int i=0;i<arrs3.length-4;i++){
if(arrs3[i]>arrs3[i+1]){
int temp=0;
temp=arrs3[i];
arrs3[i]=arrs3[i+1];
arrs3[i+1]=temp;
}
}
for(int i=0;i<arrs3.length;i++){
System.out.println(arrs3[i]);
}
System.out.println("-------------------------------");
简洁版冒泡排序如下:
//冒泡排序
int[] arrs4={3,15,7,28,9,23,3,21,32,45,7,24,5,21,2};
int j=arrs4.length-1;
while(j>0){
for(int i=0;i<j;i++){
if(arrs4[i]>arrs4[i+1]){
int temp=0;
temp=arrs4[i];
arrs4[i]=arrs4[i+1];
arrs4[i+1]=temp;
}
}
j--;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)