作者rosemary (迷迭香)
看板java
標題Re: [J2SE] 請教把1~6隨意排序
時間Sat Sep 1 00:43:50 2007
※ 引述《rosemary (迷迭香)》之銘言:
: 大家好,第一次在此板發表文章,
: 有不周到之處請大家告訴我 ^^
: 我想要寫一隻隨意把連續的數字打散的程式,
: 例如1~6號,執行之後 可能變成 2,5,1,6,4,3
: 搜尋網路,看到很多很精彩的排序程式,
: 可是要把排序打散...不知道用什麼java語法可以達成想要的功能呢?
: 謝謝大家 ^^
後來寫出來了 ^^ 提供給大家參考
private static String[] shuffle(String[] team) {
int teamlength = team.length;
double[] temp = new double[teamlength];
double tempd;
String temps;
//先產生亂數,分配給每一組
for(int i=0;i<teamlength;i++){
temp[i] = Math.random();
}
//對亂數排序,順便就把組順序調動,
for(int i=0;i<teamlength;i++) {
for(int j=teamlength-1;j>i;j--) {
if(temp[j]<temp[j-1]) {
tempd = temp[j-1];
temp[j-1] = temp[j];
temp[j] = tempd;
temps = team[j-1];
team[j-1] = team[j];
team[j] = temps;
}
}
}
return team;
}
public static void main(String[] args){
String team[]={"第一組","第二組","第三組","第四組","第五組","第六組"};
shuffle(team);
for(String s:team){
System.out.println(s);
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.40.94
1F:→ rosemary:有個問題 有人知道這個叫做什麼排序法嗎 @@ 09/01 00:45
2F:噓 TonyQ:打亂叫 shuffle , 你到底知不知道甚麼叫"排序" -.-;; 09/01 01:00
3F:推 TonyQ:出來的結果如果不是循序的 , 就不叫排序-.-;; 09/01 01:02
4F:→ rosemary:在"//對亂數排序"底下這一段 好像也有對亂數排序@@ 09/01 01:05
5F:→ rosemary:如果那邊不是在做排序的話...真的很抱歉 orz... 09/01 01:06
6F:推 teman:亂數取6個不重複數字不就好了 既然要亂何以排序@@ 排序準則? 09/02 09:29
7F:→ TonyQ:總之,這不是排序,請不要誤用名詞。-_-;; 09/02 13:10
8F:→ rosemary:不知道T大有沒有仔細看我的程式 09/02 13:34
9F:→ rosemary:我是給每個字串一個亂數 再對亂數做排序 09/02 13:34
10F:→ rosemary:而我是用先選出第一大的亂數排在最後面 這樣依序類推 09/02 13:36
11F:→ rosemary:如果把亂數從小到大依序排列不叫排序 不知道叫做什麼... 09/02 13:38
12F:→ rosemary:如果推文的想法有錯誤的話請大家指正 ^^ 09/02 13:39
13F:→ rosemary:也感謝下面Z大和P大的解法 ^^ 09/02 13:40