看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《yauhh (喲)》之銘言: ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.113.220
ledia:compare function 改一改, qsort 一次即可 06/23 13:50
joefaq:推樓上的作法 06/23 17:41
softwind:單純用 一次qsort的話 BROYG..的index要寫死 06/24 01:32
softwind:but如果要用文字先排的話 就要先bsearch出prior再qsort. 06/24 01:33
寫死? 為什麼要寫死? 比如說給定的是 BROYGUNT (我亂打的) int i; char buff[1024]; int weight[256]; memset(weight, 0, sizeof(weight)*sizeof(int)); scanf("%s", buff); // BROYGUNT len = strlen(buff); for(i=0;i<len;i++) weight[(int)buff[i]] = i+1; 之後 compare function 再用這個 weight 來比較即可 -- 有時候,遺忘,是令人快樂的。什麼時候?當然是有人傷了你的心的時候。  存心傷你的那個人,固然是故意和你過不去,但是被傷了心而耿耿於懷的你  ,卻是和自己過不去了。所以,記性不好的人,通常會是比較快樂的人,也  是比較不容易被擊倒的人。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.49 ※ 編輯: ledia 來自: 140.112.30.49 (06/24 10:25)
cutecpu:sizeof(weight)*sizeof(int) 06/24 12:38