編寫乙個程式,將輸入字串中的字元按如下規則排序(乙個測試用例可能包含多組資料,請注意處理)。
規則 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).
解題方案,使用插排解決!
#include
#include
#include
using namespace std;
bool ischar(char c)
void sort(char *array)
int i = 1;
for(;i < length;i++)
int j = i-1;
int dex = i;
for(;j >= 0;j--)
char com1 = array[dex];
char com2 = array[j];
if (com1 <= 'z') com1 = com1 + 32;
if (com2 <= 'z') com2 = com2 +32;
if (com2 == com1)
if(com1 < com2) }}
}int main()
return 0;
}
字串排序問題
比賽描寫敘述 有一些a c m組成的字串,將其按字元 a排序。輸入 一組測試資料,輸入資料由若干行組成,每行是字元a c或m組成的字串。每乙個字串長度不超過1200 輸出 對全部輸入的資料,先按字元 a的個數進行公升序排序。假設字元 a的數量相等,再按出現的先後順序排序,每行輸出乙個字串。例子輸入 ...
字串 字串排序
頻率統計 將頻率轉換為索引 資料分類 回寫頻率統計 統計每個字元出現的次數 將頻率轉換為索引 確定不同字元首位置 從右到左檢查檢查鍵中的字元 public class lsd public class msd public static void sort string a private stat...
《演算法》 字串 字串排序
輸入字串和字串對應的組別 組別也是字串的鍵 在滿足組別有小到大排序的情況下,將字串按字母順序排序 第一步,記錄組別的頻率 為了得到某個字串在排序後的範圍,比如組別2肯定在組別1後面,在組別3前面,把每個組別有多少個人記錄下來,方便我們定位 第三步,分類 該組別的位置起點 向後挪一位 因為當前位被用了...