Re: [計程] qsort()
你這個有點 bug...
int cmp(const void* A,const void* B ){
int* A = (int*) a;//將原本為void*的a轉型為int*並指定給A
int* B = (int*) b;
if( *A < *B ) return -1; //若*A比*B小,代表A的順位比較前面
else if( *A == *B ) return 0;
else return 1;
return 0;
}
我覺得應該是 int cmp(const void *a,const void *b)
補充一下, -1 0 1 代表的是 負 零 正
也就是說整個 cmp 可以寫成
int cmp(const void *a,const void *b)
{
return *(int*)b-*(int*)a;
}
不過,…這個寫法雖然比較簡捷,可是要小心可能某些 TA 會出陰險的 testdata
然後 *(int*)b-*(int*)a 就會 overflow... 到時候就 WA 到天荒地老了
--
╭═══╤═══╮ ╰═╮ ╭═╯
│ │ │╭═和平,土地,麵包═╮ │ │
│ ╭═╧╧╮╤═╤═╮═╤═╤╧╮ │ │
│ │ ││ │ │ │ │ │ ╰═╤═╯
│ │ ││ │ │ │ │ │ │
╰╧╯╰═══╯╰ ╰ ╰ ╰ ╰ ╰ ─╯
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.239.191
→
10/28 14:35, , 1F
10/28 14:35, 1F
推
10/28 14:41, , 2F
10/28 14:41, 2F
→
10/28 14:42, , 3F
10/28 14:42, 3F
→
10/28 15:07, , 4F
10/28 15:07, 4F
→
10/28 15:07, , 5F
10/28 15:07, 5F
→
10/28 15:08, , 6F
10/28 15:08, 6F
→
10/28 15:09, , 7F
10/28 15:09, 7F
推
10/28 15:13, , 8F
10/28 15:13, 8F
→
10/28 15:49, , 9F
10/28 15:49, 9F
→
10/28 16:10, , 10F
10/28 16:10, 10F
→
10/28 16:10, , 11F
10/28 16:10, 11F
※ 編輯: TommyKSHS 來自: 140.112.239.191 (10/28 16:11)
※ 編輯: TommyKSHS 來自: 140.112.239.191 (10/28 16:14)
推
10/28 18:22, , 12F
10/28 18:22, 12F
→
10/28 18:23, , 13F
10/28 18:23, 13F
推
10/28 20:53, , 14F
10/28 20:53, 14F
→
10/28 20:53, , 15F
10/28 20:53, 15F
→
10/28 23:47, , 16F
10/28 23:47, 16F
→
10/28 23:47, , 17F
10/28 23:47, 17F
推
10/28 23:52, , 18F
10/28 23:52, 18F
→
10/29 01:09, , 19F
10/29 01:09, 19F
推
10/29 19:07, , 20F
10/29 19:07, 20F
討論串 (同標題文章)