这是一组随机生成的数字(非数组),共10个数字,有没有办法打乱随机他们的顺序,如果不行,将这10个数字排下序也行,之前想过用random,可是怎样也达不到效果,所以来请教各位。

解决方案 »

  1.   

    哥们数组不是有一个sort排序的方法么。直接调用就ok了
      

  2.   

    我这是java的用法一样
    1.import java.util.Random;  
    2.  
    3.public class RandomSort {  
    4.    private Random random = new Random();  
    5.    //数组大小  
    6.    private static final int SIZE = 10;  
    7.    //要重排序的数组  
    8.    private int[] positions = new int[SIZE];  
    9.      
    10.    public RandomSort() {  
    11.        for(int index=0; index<SIZE; index++) {  
    12.            //初始化数组,以下标为元素值  
    13.            positions[index] = index;  
    14.        }  
    15.        //顺序打印出数组的值  
    16.        dwn();  
    17.    }  
    18.      
    19.    //重排序  
    20.    public void changePosition() {  
    21.        for(int index=SIZE-1; index>=0; index--) {  
    22.            //从0到index处之间随机取一个值,跟index处的元素交换  
    23.            exchange(random.nextInt(index+1), index);  
    24.        }  
    25.        dwn();  
    26.    }  
    27.      
    28.    //交换位置  
    29.    private void exchange(int p1, int p2) {  
    30.        int temp = positions[p1];  
    31.        positions[p1] = positions[p2];  
    32.        positions[p2] = temp;  
    33.    }  
    34.      
    35.    //打印数组的值  
    36.    private void dwn() {  
    37.        for(int index=0; index<SIZE; index++) {  
    38.            System.out.print(positions[index]+" ");           
    39.        }  
    40.        System.out.println();  
    41.    }  
    42.  
    43.    public static void main(String[] args) {  
    44.        RandomSort rs = new RandomSort();  
    45.        rs.changePosition();  
    46.        rs.changePosition();  
    47.        rs.changePosition();  
    48.    }  
    49.}  
      

  3.   

    给个思路,假设你的变量为10个object,放入一个Dictionary<int, object>
    令Key = object.GetHashCode(),然后你随便排序一下好了
      

  4.   


    谢谢了 ,先把10个变量存到1个数组里,然后用sort排序就可以了。
      

  5.   

    本帖最后由 caozhy 于 2011-08-17 20:26:33 编辑