java,
分享于 点击 8942 次 点评:139
java,
//数组排序public class Array {
public static void main(String args[]){
int[] sortA = createsortA(10);
int[] sortC=maopao(sortA);
System.out.println("冒泡排序结果为");
printArray(sortC);
}
//创建随机数组
public static int[] createsortA(int len){
int base[]= new int[len];
for(int i=0;i<base.length;i++){
//创建一个随机对象
java.util.Random ran= new java.util.Random();
//调用随机对象,每次循环式生成一个0~100间随机数
int value =ran.nextInt(100);
//给数组中指定位置填上随机数
base[i]=value;
}
return base;
}
//打印数组
public static void printArray(int[] sortA){
if(sortA==null){
return ;
}
for(int i=0;i<sortA.length;i++){
System.out.print(sortA[i]+" ");
}
}
//冒泡排序
public static int[] maopao(int[] sortB){
for(int i=0;i<sortB.length;i++){
for(int j=i+1;j<sortB.length;j++){
if(sortB[i]>sortB[j]){
int temp=sortB[i];
sortB[i]=sortB[j];
sortB[j]=temp;
}
}
}
return sortB;
}
}
我采用的思路是一直将小的数向前冒。在这个过程中进行两轮循环:第一次循环选中要比较的基础值,然后与第二轮循环中选中的数值进行比较,小的就进行替换。
我一直没有理解第二轮循环中循环次数为什么要用数组的长度。因为j已经预置位i+1了。实际上虽然长度是数组的长度,实际上是循环sortB.length-i-1次。
相关文章
- 暂无相关文章
用户点评