作者PsMonkey (痞子军团团长)
看板java
标题Re: [问题] Quick Sort : Middle
时间Mon Apr 28 18:56:24 2014
※ 引述《kingofsdtw (不能闲下来!!)》之铭言:
: 请问...
: Quick Sort按照"原意" middle应该是啥呢?
: 目前以下都写出可以跑的Function
: 但是身边查到的国外网页教学和课本大多是采用a 方案
: a. middle = arry[left + right];
: if(arry[left]> middle).....
: b. middle = (left +right) /2;
: if(arry[left] >arry[middle] )....
: Code: http://codepad.org/iVymx6kA
1. 我不觉得这是 Java 问题
2. 你的程式码注解... 几乎可视为没有
把右大括号打上注解,着名左大括号的... 用意(?)
这几乎没有什麽额外的意义
3. 我实在看不懂你文章当中的 a 要怎麽跑
用你程式里头的变数定义
(然後还得自己把 array 代换成 data,
以及忽略搞不懂你的 if 到底是指程式码中的哪一段)
你写的 a 不是有 typo,不然就是... 我也不知道是什麽了
是故,原文给予 s
--
钱锺书:
说出来的话
http://www.psmonkey.org
比不上不说出来的话
Java 版 cookcomic 版
只影射着说不出来的话
and more......
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.43.107.35
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1398682587.A.9E1.html
1F:推 k47100014:middle就只是取阵列中间的意思而已 a是取该数字 b是位置 04/28 20:28
2F:推 k47100014:a少了/2 →middle = arry[(left+right)/2]; 04/28 20:30
3F:推 k47100014:至於if 为什麽找不到:他只是举例而已 04/28 20:33
4F:→ morris282:你的code算法正确吗 04/28 21:29
5F:→ morris282:第一个DATA[]如果1不是第一个元素 就可能不是升幂排序 04/28 21:34
6F:推 k47100014:楼上 你可能不太懂Quick Sort的算法 1是不是第一个没差 04/28 21:45
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
一个上来问 quick sort 的人做出如此发言,我无言
7F:→ morris282:正常QUICKSORT对任何阵列都能得到升幂排序的结果吧? 04/28 21:49
8F:→ morris282:他的code对某些阵列来说没办法得到正确的升幂排序 04/28 21:50
9F:推 k47100014:QuickSort本来不管如何都无法有正确的排序big O(n logn) 04/28 21:52
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
我完全看不懂这句在讲什麽,恳请国文大师帮忙断句
如果是「QuickSort本来不管如何都无法有正确的排序,big O(n logn)」
先不论後头干麽扯个 big-O n*log(n)
只是看到有一种排序演算法,居然没办法保证有正确的排序
那我还不如乖乖用 bubble sort 就算了
至於其他断句的可能,我无法
综观原 po k47100014 的发问
以我浅薄的演算法 / 国文 / Java 程度
我实在无法感受到发问的诚意
10F:→ morris282:如果QuickSort不是要排升/降幂 那就是我搞错了 04/28 21:53
morris282 的气度,请受小的我一拜 Orz
所以我决定连我这篇也 s 了
※ 编辑: PsMonkey (114.43.107.35), 04/28/2014 22:06:27
11F:推 k47100014:阿 我错了 morris你是对的 04/28 22:00
12F:→ kingofsdtw:我Code 有Bug无法排升/降幂 @@?? 04/28 22:03
然後我也搞错了,原来两个 k 不是同一个人
在此致歉... Orz
不过我还是决定 s 文
※ 编辑: PsMonkey (114.43.107.35), 04/28/2014 22:07:50
13F:→ morris282:{12,5,26,7,14,3,7,2,1}似乎没办法得到正确的排序 04/28 22:25