作者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