[.NET] 作業(自我學習) QuickSort

作者: niwat (原來如此)   2013-10-19 06:12:27
請輸入專案類型(網站專案或者應用程式專案):windows application
非CS 學生, 因為有寫程式的需求, 自行修習程式寫作
看到網路上有關遞迴作的作業(QSort), 就嘗試寫了一個程式, 程式碼如下
程式執行結果是成功的, 不過有一些疑惑希望大家提供意見
(ps. 非CS背景, 所以程式大部分都只要求能用就好, 但如果是作業的話,
還是希望知道比較好的寫法以及需要改進的地方)
[前提] 用來排序的陣列(T_Array)都是integer且不重複,
隨機選取開始的位置(T2)
[問題]
1. 我的寫法是用迴圈抓數字和T_Array(T2)比,
比T_Array(T2)大的從最右邊開始往左填
比T_Array(T2)小的從最左邊開始往右填
是否應該以T_Array(T2)為參考點, 分別由中間往兩邊填, 才符合Qsort要求?
2. 我的程式中每次執行都會宣告一個等大的陣列(寫起來方便)
然後再把排好的數字用for next迴圈填回原陣列
感覺上很消耗記憶體空間以及運算次數
且好像有點失去遞迴的感覺, 沒有記憶體堆疊的感覺?
一般CS學生 在做這個作業的時候有比較快速或是比較好的寫法嗎?
3. 如果你是改這份作業的人, 會在寫法上提供甚麼建議呢?
謝謝大家
作者: niwat (原來如此)   0000-00-00 00:00:00
這個作業這樣寫還算及格吧?

Links booklink

Contact Us: admin [ a t ] ucptt.com