推 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