PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] qsort實作在二維陣列遇到的問題
作者:
andy5343927
(小安)
2020-04-24 10:09:20
Win7
GCC
小弟第一次在本版發文,如有疏失感謝指正^^
自己實作了<stdlib.h>裡的qsort,在一維陣列上的運作也正常(拿int陣列測試過了)
但在二維陣列(用char二維陣列測試)上的排序會segmentation fault
Input/Output跟code都在https://paste.ofcode.org/3b8Rnna9rLskcfDuE4cWLVw
自己有爬過一些本版的文章了
像是#1CDqVJms,我用一樣的方式是可以正常運行<stdlib.h>的qsort的,但我自己的不行
研究過後覺得問題應該是出在我的swap,但是我不知道要怎麼修改,懇請各位解答
作者:
andy5343927
(小安)
2020-04-24 11:29:00
將cmp內容修改後已解決,不確定是否還有錯誤
https://paste.ofcode.org/UsnTCVAmdnCTKQtAmsxYFD
這是更改後的code但發現這會導致排序錯誤等問題
作者:
sarafciel
(Cattuz)
2020-04-24 13:18:00
你排序錯誤的測資跟輸出長怎麼樣?
作者:
justhit666
(就打666)
2020-04-24 14:43:00
因為你不能把二維陣列這樣直接傳進去,上次我來爬文就是犯了這個錯誤XDC/C++ 語言新手十三誡 -- Ver. 2016
http://www.ptt.cc/bbs/C_and_CPP/M.1465304337.A.9F2
.html第十二戒欸我不確定,可能是我太敏感了,再看一下,先不要理我我菜雞><!喔,看起來好像沒講錯?
作者:
andy5343927
(小安)
2020-04-24 15:24:00
好像是 我後來想到我有犯這個錯 不過我先整理一下Y這裡對void*做加法一次是加一個byte的量沒錯吧?
作者:
Lipraxde
(Lipraxde)
2020-04-24 18:30:00
void pointer 不能拿來做運算吧@@
作者:
loveme00835
(髮箍)
2020-04-24 19:38:00
你需要先釐清 value/reference semantics, 只要 cmp還有 swap 匹配好其餘實作沒什麼差
繼續閱讀
Re: [問題] 關於三元運算子
loveme00835
[問題] 關於code::blocks 部分版面消失詢問
yeyo
[問題] C++ primer版本及相關用書請益
Lambo1228
[問題] 關於三元運算子
spong
Re: [問題] cpp 考題請教
poyenc
[問題] cpp 考題請教
m8403051
Re: [問題] porting issue(32bits-->8bits)
nevak
[問題] 新手自訂函式問題
Twgeorge
Re: [問題] 同時對array的多個位置取值的方法
loveme00835
[問題] ffmpeg使用vaapi硬體加速
ko27tye
Links
booklink
Contact Us: admin [ a t ] ucptt.com