氣泡排序既可以排字串也可以排字串

2021-07-13 08:32:56 字數 976 閱讀 3084

編寫乙個氣泡排序,既可以編寫字串也可以編寫數字。

1).需要實現乙個函式指標,在排序的時候將函式的入口位址傳進來。

void sort(void *base, int len, int width, int(*cmp)(const void*, const void*))}}

}

實現**的主邏輯

1).引數設定,乙個可以接收任何型別的指標,資料大小,型別大小,函式宣告。

2).需要實現乙個比較字串函式,整型比較函式,交換函式。

比較字串函式

int str_cmp(const void *p1, const void *p2)

比較整型的函式

int int_cmp(const void *p1, const void *p2)

else if (*(int *)p1 == *(int *)p2)

else

}

交換函式的實現

void swap(void *p1, void *p2, int size)

}

當需要比較字串的時候,傳參的時候需要將str_cmp傳進來。同理需要比較整型數字,需要將int_cmp傳進來,請注意函式引數。

以上就是本人在學習過程中的一些經驗總結。當然,本人能力有限,難免會有紕漏,希望大家可以指正。

本文出自 「做乙個小小小司機」 部落格,請務必保留此出處

2019華為實習筆試題 重排字串

1 字串重排 題目 給你乙個原始字串,根據該字串內每個字元出現的次數,按照ascii碼遞增順序重新調整輸出。提示 1 原始字串中只會出現字母和數字。2 注意區分大小寫。示例1 輸入為 eeefgghhh 輸出為 efghegheh 示例2 輸入為 22233aaabcccdd 輸出為 23abcd2...

php 中英文混排字串擷取

需要用到兩個系統函式 1.mb strwidth str,encoding 返回字串的寬度 str 要計算的字串 encoding 要使用的編碼,如 utf8 gbk 2.mb strimwidth str,start,width,tail,encoding 按寬度擷取字串 str 要擷取的字串 s...

51 Nod 2485 小b重排字串

小b有乙個字串s,全部為小寫字母,現在她希望重排列s,使得s中相鄰字元不同。請你判斷小b是否可能成功。樣例解釋 將 aab 重排為 aba 即可。找到出現次數最大的次數k,設字串長度為n。如果n為偶數數,那麼k最大為 n 2。如果n為奇數,那麼k 最大 為 n 2 1。超過的話就不合格 includ...