[.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