字串排序

2021-09-23 15:39:53 字數 1115 閱讀 2752

題目描述

編寫乙個程式,將輸入字串中的字元按如下規則排序(乙個測試用例可能包含多組資料,請注意處理)。

規則 1 :英文本母從 a 到 z 排列,不區分大小寫。

如,輸入: type 輸出: epty

規則 2 :同乙個英文本母的大小寫同時存在時,按照輸入順序排列。

如,輸入: baba 輸出: aabb

規則 3 :非英文本母的其它字元保持原來的位置。

如,輸入: by?e 輸出: be?y

輸入:

a famous saying: much ado about nothing(2012/8).

輸出:

a aaaabc dfgghh : iimm nnn oooos sttuuuy (2012/8).

示例1輸入

a famous saying: much ado about nothing (2012/8).
輸出

a aaaabc dfgghh: iimm nnn oooos sttuuuy (2012/8).
【分析】還是想了一會的.. 

pos陣列,記錄非字母的位置

vectormp,記錄某個字母(不區分大小寫)依次出現的值(例如字母a,那麼就按a的大小寫出現的順序來記錄那麼就可能是aaaa...類似這樣)

然後從a~z進行遍歷,並且實時更新cnt即當前遍歷到原串的位置,如果該位置上有非字母則直接輸出,否則繼續輸出該字母存的串

【**】

#includeusing namespace std;

const int maxn=1e5+10;

int pos[maxn];

vectormp[300];

int main()

}int cnt=0;

for(int i='a';i<='z';++i)

}for(int i=cnt;iprintf("\n");

}return 0;

}

字串 字串排序

頻率統計 將頻率轉換為索引 資料分類 回寫頻率統計 統計每個字元出現的次數 將頻率轉換為索引 確定不同字元首位置 從右到左檢查檢查鍵中的字元 public class lsd public class msd public static void sort string a private stat...

《演算法》 字串 字串排序

輸入字串和字串對應的組別 組別也是字串的鍵 在滿足組別有小到大排序的情況下,將字串按字母順序排序 第一步,記錄組別的頻率 為了得到某個字串在排序後的範圍,比如組別2肯定在組別1後面,在組別3前面,把每個組別有多少個人記錄下來,方便我們定位 第三步,分類 該組別的位置起點 向後挪一位 因為當前位被用了...

字串排序

從鍵盤輸入10個學生的姓名和成績,請按字典序排列學生的姓名並輸出 姓名和成績對應關係保持不變 輸入共11行,前10行每行是乙個學生的姓名,最後一行是10個用空格分開的整數表示對應的10個學生成績。輸出姓名按字典序排列後的學生姓名和成績,共10行,每個學生的姓名和成績佔一行,姓名和成績間用逗號分開。b...