頻率統計
將頻率轉換為索引
資料分類
回寫
頻率統計:統計每個字元出現的次數將頻率轉換為索引:確定不同字元首位置
從右到左檢查檢查鍵中的字元
public
class
lsd
}}
public
class msd
public
static
void
sort(string a)
private
static
void
sort(string a, int lo, int hi, int d)
int count = new
int[r+2];
for(int i=lo; i<=hi; i++)
count[charat(a[i], d) + 2]++;
for(int r=0; r//將頻率轉換為索引
count[r+1] += count[r];
for(int i=lo; i<=hi; i++) //將元素分類
aux[count[charat(a[i], d) + 1]++] = a[i];
for(int i=lo; i<=hi; i++) //回寫
a[i] = aux[i-lo];
for(int r=0; r1]-1, d+1); //遞迴
}}
根據鍵的首字母進行三向切分,僅在中間子陣列的下乙個字元(因為鍵的首字母都與切分字元相等)繼續遞迴排序.
public
class quick3string
public
static
void
sort(string a)
private
static
void
sort(string a, int lo, int hi, int d)
sort(a, lo, lt-1, d); //三部分中的上半部分(小)
if(v>0) sort(a, lt, gt, d+1); //三部分中的中間部分
sort(a, gt+1, hi, d); //三部分中的下半部分(大)
}}
《演算法》 字串 字串排序
輸入字串和字串對應的組別 組別也是字串的鍵 在滿足組別有小到大排序的情況下,將字串按字母順序排序 第一步,記錄組別的頻率 為了得到某個字串在排序後的範圍,比如組別2肯定在組別1後面,在組別3前面,把每個組別有多少個人記錄下來,方便我們定位 第三步,分類 該組別的位置起點 向後挪一位 因為當前位被用了...
ORACLE in 字串,字串,字串
因為傳進來的引數是 字串,字串,字串,要實現in 字串,字串,字串 select from htl price p where p.hotel id 30073328 and p.able sale date between to date 2009 03 27 yyyy mm dd and to ...
C語言字串 字串排序
本題要求編寫程式,讀入5個字串,按由小到大的順序輸出。輸入為由空格分隔的5個非空字串,每個字串不包括空格 製表符 換行符等空白字元,長度小於80。按照以下格式輸出排序後的結果 after sorted 每行乙個字串 red yellow blue green white after sorted b...