目的:把陣列內容搞亂
複雜度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 放進陣列裡