日期:2014-05-20 浏览次数:21175 次
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]+"   ");
			}
	 }