目的:把陣列內容搞亂

複雜度log(n)

比每亂數新增一個再去裡面判斷快太多了

絕不可能重複

因為他是先排好陣列 再亂數兩兩交換

===============================================

int x[10]={0};
 
    for(int i=0;i<=9;i++){
        x[i]=i;		//將x陣列的1~10元素依序填入資料,例如x[1]=1,x[2]=2
    }
 
 
    for(int i=0;i<=x.length;i++){
        int n1=rand()%10;		//產生0~9的亂數
        int n2=rand()%10;
        //將陣列資料進行交換(打散)
		int temp=x[n1];
        x[n1]=x[n2];
        x[n2]=temp;
 
    }
===============================================
也可用在字串Array
可以先把String Array內容放進Map裡
前面的key為整數 
把key亂數排序後
再把相對應的value> String 放進陣列裡

arrow
arrow
    文章標籤
    不重複亂數 洗牌演算法
    全站熱搜

    cookiesp 發表在 痞客邦 留言(0) 人氣()