Re: [問題] c++將字串排序

作者: MOONRAKER (㊣牛鶴鰻毛人)   2016-05-10 23:05:19
※ 引述《cchou0114 (嘻嘻)》之銘言:
: 要怎麼把他的字首依照字典順序排序呢
void verydumbsort(string ar[], int len) {
string arbuf[26][SIZE];
int arb_i[26] = { 0 };
for (int j=0; j<len; ++j) {
char initial = ar[j][0];
if (initial >= 'a') {
initial -= ('a' - 'A');
}
initial -= 65;
arbuf[initial][arb_i[initial]] = ar[j];
++arb_i[initial];
}
int ar_index = 0;
for (int m=0; m<26; ++m) {
for (int n=0; n<arb_i[m]; ++n) {
if (arbuf[m][n].length() > 0) {
ar[ar_index] = arbuf[m][n];
++ar_index;
}
}
}
}
你是說「字首」照字典順序排嘛
那字首以下就隨便了
可執行範例 - http://ideone.com/91wgu5
作者: WBTs (加權平衡樹)   2016-05-10 23:10:00
bubble sort隨便for夾for和if就可,你對他太好了,還幫他寫好.
作者: MOONRAKER (㊣牛鶴鰻毛人)   2016-05-11 13:33:00
很久沒寫吸加加 寫一下確定還會寫 而且要合乎要求嘛寫一寫才發現真的不行了 new用得亂七八糟 只好放棄

Links booklink

Contact Us: admin [ a t ] ucptt.com