日期:2014-05-19  浏览次数:20789 次

随机数 +冒泡排序求助!!!
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]);
}

}
}
}
}

在本程序上,实现冒泡的正序排法,好心人帮帮忙,重赏!!!!

------解决方案--------------------
N个数字来排队,两两相比小靠前;
外层循环N-1,内层循环N-1-i.




------解决方案--------------------
你这随机真不太好看。
Java code

import java.util.Arrays;
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]);
                }
            }
        }
        sort(b);
        
    }
    
    public static void sort(int[] array)
    {
        for(int i=0;i<array.length;i++)
        {
            for(int j=i+1;j<array.length;j++)
            {
                if(array[i]>array[j])
                {
                    int temp=array[i];
                    array[i]=array[j];
                    array[j]=temp;
                }
            }
        }
        System.out.println(Arrays.toString(array));
    }
}

------解决方案--------------------
你的随机是要打算生成不重复的数?
Java code
    public static void main(String[] args)
    {
        int i=0;
        int[] b = new int[20];
        Set set=new HashSet();
        while(set.size()<20)
        {
            int randomNum=1+(int) (Math.random()*100);
            if(set.add(randomNum))
            {
                b[i++]=randomNum;
            }
        }
        sort(b);
        
    }
    
    public static void sort(int[] array)
    {
        for(int i=0;i<array.length;i++)
        {
            for(int j=i+1;j<array.length;j++)
            {
                if(array[i]>array[j])
                {
                    int temp=array[i];
                    array[i]=array[j];
                    array[j]=temp;
                }
            }
        }
        System.out.println(Arrays.toString(array));
    }

------解决方案--------------------
for(int i=0;i<array.length;i++)
{
for(int j=i+1;j<array.length;j++)
{
if(array[j]>array[j+1])
{
int temp=array[j];
array[j+1]=array[j];
array[j]=temp;
}
}
}
System.out.println(Arrays.toString(array));

------解决方案--------------------
import java.util.Random;
public class BubbleSort{
public static void main(String[] args){
Random rand=new Random();
int[] RandomNum=new int[20];
for(int i=0;i<RandomNum.length;i++){
RandomNum[i]=rand.nextInt()%100;
}
bubbleSort(RandomNum);
System.out.println("按升序:");
for(int i=0;i<RandomNum.length;i++){
System.out.print(RandomNum[i]+" ");