日期:2014-05-20 浏览次数:20855 次
package TestPackage; import java.util.Random; public class SC { public static void main(String[] args) { int randomNum; int[] b = new int[20]; for (int i = 0; i < 20; i++) { b[i] = 0; } for (int i = 0; i < 20; i++) { for (int j = 0; j <= i; j++) { randomNum = 1 + (int) (Math.random() * 100); if (b[j] == randomNum) { break; } if (j == i) { b[j] = randomNum; System.out.println("第" + (j + 1) + "个整数是" + b[j]); } } } int temp; for(int i=0; i<20; i++){ for(int j=i; j<19; j++){ if(b[j]>b[j+1]){ temp = b[j]; b[j] = b[j+1]; b[j+1] = temp; } } } for(int i=0; i<20; i++){ System.out.println("第" + (i + 1) + "个整数是" + b[i]); } } }
------解决方案--------------------
给你冒泡排序算法行不?
int temp ;
for(int i = 0 ; i < n - 1;i++){
for(int j = 0 ; j < n - i - 1; j++){
if(a[j] > a[j+1])
{
// 此处将两数作交换
}
}
你可以把这作为一个方法,传递数组过来即可,返回排序好的数组
}
------解决方案--------------------
//冒泡排序 boolean flag=false; int temp=0; for(int i=0;i<b.length-1;i++) { flag=false; for(int j=0;j<b.length-1-i;j++) { if(b[j]>b[j+1]) { temp=b[j+1]; b[j+1]=b[j]; b[j]=temp; flag=true; } } if(!flag) { break; } } for(int j=0;j<b.length;j++) { System.out.print(b[j]+" "); }
------解决方案--------------------
//冒泡
public void test1(){
int a[]={1,4,6,8,2,3,0,34,12,99};
for(int i=0;i<a.length;i++){
for(int j=0;j<a.length-i-1;j++){
if(a[j+1]<a[j]){
a[j+1]=a[j+1]^a[j];
a[j]=a[j+1]^a[j];
a[j+1]=a[j+1]^a[j];
}
}
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
//选择
public void test2(){
int b[]={1,4,6,8,2,3,0,34,12,99};
for(int i=0;i<b.length;i++ ){
for(int j=i+1;j<b.length;j++){
if(b[i]>b[j]){
b[i]=b[i]^b[j];
b[j]=b[i]^b[j];
b[i]=b[i]^b[j];
}
}
}
for(int i=0;i<b.length;i++){
System.out.print(b[i]+" ");
}
}