作者gary1198 (醉枫)
看板java
标题Re: [J2SE] 请教把1~6随意排序
时间Sun Sep 2 18:14:33 2007
※ 引述《rosemary (迷迭香)》之铭言:
: //对乱数排序,顺便就把组顺序调动,
: 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;
: }
:
: → rosemary:有个问题 有人知道这个叫做什麽排序法吗 @@ 09/01 00:45
恕删~
你例子中所用的为Bubble Sort(气泡排序)
可以把阵列想成一个直立的容器 容器顶端就是阵列的最左,底部就是阵列最右
阵列中所存放的值,愈小代表其重量愈轻
你例子中的做法是从容器最底部的值开始和上面的值做比较
要是下面的质比上面的值轻(小)的话 那就交换位置(浮上去)
这样当例子中的第一重回圈的第一圈跑完时 最轻的值一定会在最上面
第一重回圈的第二圈跑完时 第二轻的值也就在最上面的第二个位置
依此类推 当回圈跑完时 一定就会按小到大排好
这种排列方式当数值被排序过後,其前後顺序也就不会再随意的更改
所以是一种稳定的排列 但排列速度慢了点,为O(N^2)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.24.31
1F:推 rosemary:谢谢gary大的详细解释..^^ 也谢谢各位网友提供的意见 09/02 18:53
2F:→ freesamael:我个人认为气泡排序是一个找不到优点的排序法... 09/03 21:20