[問題] qsort實作在二維陣列遇到的問題

看板C_and_CPP作者 (小安)時間4年前 (2020/04/24 10:09), 編輯推噓3(3016)
留言19則, 5人參與, 4年前最新討論串1/1
Win7 GCC 小弟第一次在本版發文,如有疏失感謝指正^^ 自己實作了<stdlib.h>裡的qsort,在一維陣列上的運作也正常(拿int陣列測試過了) 但在二維陣列(用char二維陣列測試)上的排序會segmentation fault Input/Output跟code都在https://paste.ofcode.org/3b8Rnna9rLskcfDuE4cWLVw 自己有爬過一些本版的文章了 像是#1CDqVJms,我用一樣的方式是可以正常運行<stdlib.h>的qsort的,但我自己的不行 研究過後覺得問題應該是出在我的swap,但是我不知道要怎麼修改,懇請各位解答 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.89.236 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1587694166.A.B8A.html

04/24 11:29, 4年前 , 1F
將cmp內容修改後已解決,不確定是否還有錯誤
04/24 11:29, 1F

04/24 11:31, 4年前 , 2F

04/24 11:31, 4年前 , 3F
這是更改後的code
04/24 11:31, 3F

04/24 11:43, 4年前 , 4F
但發現這會導致排序錯誤等問題
04/24 11:43, 4F

04/24 13:18, 4年前 , 5F
你排序錯誤的測資跟輸出長怎麼樣?
04/24 13:18, 5F

04/24 14:43, 4年前 , 6F
因為你不能把二維陣列這樣直接傳進去,上次我來爬文就
04/24 14:43, 6F

04/24 14:43, 4年前 , 7F
是犯了這個錯誤XD
04/24 14:43, 7F

04/24 14:44, 4年前 , 8F
C/C++ 語言新手十三誡 -- Ver. 2016
04/24 14:44, 8F

04/24 14:44, 4年前 , 9F

04/24 14:44, 4年前 , 10F
.html
04/24 14:44, 10F

04/24 14:45, 4年前 , 11F
第十二戒
04/24 14:45, 11F

04/24 14:46, 4年前 , 12F
欸我不確定,可能是我太敏感了,再看一下,先不要理我
04/24 14:46, 12F

04/24 14:47, 4年前 , 13F
我菜雞><!
04/24 14:47, 13F

04/24 14:55, 4年前 , 14F
喔,看起來好像沒講錯?
04/24 14:55, 14F

04/24 15:24, 4年前 , 15F
好像是 我後來想到我有犯這個錯 不過我先整理一下Y
04/24 15:24, 15F

04/24 17:40, 4年前 , 16F
這裡對void*做加法一次是加一個byte的量沒錯吧?
04/24 17:40, 16F

04/24 18:30, 4年前 , 17F
void pointer 不能拿來做運算吧@@
04/24 18:30, 17F

04/24 19:38, 4年前 , 18F
你需要先釐清 value/reference semantics, 只要 cmp
04/24 19:38, 18F

04/24 19:38, 4年前 , 19F
還有 swap 匹配好其餘實作沒什麼差
04/24 19:38, 19F
文章代碼(AID): #1UeafMkA (C_and_CPP)