對多個字串使用氣泡排序法的python實現

2021-08-30 17:59:11 字數 1129 閱讀 6064

今天在上資料結構與演算法課的時候,老師突擊測試,讓我們用氣泡排序演算法實現對多個字串的降排序,平常

老師講課都用c++,但我沒學過,而之前學過的c語言太久沒用,也忘得差不多了,迫不得已,拿起了最近在學習的

python試水。當時想網路借鑑一下別人的**,但是沒找到太準確的,還是自己動手寫了,當時時間太短,寫得不

太完整,回頭自己在pycharm除錯實現了。

上面寫這麼多也只是記錄一下自己在專業方面的學習過程,深知自己還是乙隻菜鳥,但是冰封三尺非一日之寒,

好的成績都是由每乙個小進步累積而成的,共勉!

———————————————————————————————————————分割線————————————————————————————————————————

對多個字串使用氣泡排序演算法的python實現,在網路上多見是c語言的版本,本人感覺python寫的更加簡單。

其中,字串的比較,python可以直接用 大小於號 來表示,而c語言則需要用strcmp函式。

def bubblesort(string):

ls = string.split(',') # 將字串以','為標誌分開,每個子字串存入列表ls

n = len(ls) # n為ls的元素個數

while n > 1: # 氣泡排序的大迴圈,從n-1次開始,每一趟 減1次相鄰元素間的比較

for i in range(n-1): # 氣泡排序的小迴圈,第一趟n-1次比較,第二趟n-2次,逐漸遞減至1次

if ls[i] < ls[i+1]: # 比較相鄰字串大小,次序相反的元素交換,降冪排序

a = ls[i] # 元素交換

ls[i] = ls[i+1]

ls[i+1] = a

n = n-1 # 控制小迴圈的迴圈次數

print(ls) # 輸出排序後的結果

bubblesort('sc,ad,as,xx,ew,gbd,adx,dfa') # 呼叫函式

使用氣泡排序,排序多個字串

define crt secure no warnings 1 include include include int main char str 指標陣列,每乙個都是字元指標 int i 0 int j 0 int flag int size sizeof str sizeof str 0 for...

C語言 氣泡排序排序多個字串

strcmp函式 原型 extern int strcmp const char s1,const char s2 用法 include 功能 比較字串s1和s2。一般形式 strcmp 字串1,字串2 說明 當s1s2時,返回值 0 即 兩個字串自左向右逐個字元相比 按ascii值大小相比較 直到...

C語言 寫氣泡排序可以排序多個字串。

此題的解決思路為 首先整體思路為氣泡排序法,其次它是要排序多個字串,這裡就要用到字串的比較strcmp,通過判斷比較兩字串然後再進行交換排序。具體 如下 include include include void bubble str char arr,int sz int main int i 0 ...