(相關(guān)資料圖)
C語言中的冒泡排序算法:
1.從數(shù)組的頭開始,不斷比較兩個(gè)相鄰元素的大小,讓較大的元素逐漸后移(交換兩個(gè)元素的值),直到數(shù)組的末尾。
2.在第一輪比較之后,你可以找到最大的元素,并將其移動(dòng)到最后一個(gè)位置。
3.第一輪結(jié)束后,繼續(xù)第二輪。仍然從數(shù)組的開頭開始比較,并逐漸將較大的元素向后移動(dòng),直到數(shù)組的倒數(shù)第二個(gè)元素。
4.第二輪比較后,可以找到下一個(gè)最大的元素,放在倒數(shù)第二的位置。以此類推,n減1(n為數(shù)組長度)輪“冒泡”后,就可以排列所有元素了。
冒泡排序是計(jì)算機(jī)科學(xué)領(lǐng)域中一種簡單的排序算法。它重復(fù)訪問要排序的元素列表,依次比較兩個(gè)相鄰的元素,如果順序(例如從大到小,從Z到A的首字母)錯(cuò)誤,則交換它們。重復(fù)訪問元素的工作,直到?jīng)]有相鄰的元素需要交換,也就是說,元素列已經(jīng)排序。這種算法的名字來源于較小的元素會(huì)通過交換慢慢“浮”到數(shù)列的頂端(按升序或降序),就像碳酸飲料中二氧化碳的氣泡最終會(huì)浮到頂端一樣,因此得名“氣泡排序”。冒泡排序是將小元素向前調(diào)整或大元素向后調(diào)整。比較是兩個(gè)相鄰元素之間的比較,交換也發(fā)生在這兩個(gè)元素之間。所以,如果兩個(gè)元素相等,就不會(huì)再交換;如果兩個(gè)相等的元素不相鄰,那么即使這兩個(gè)元素通過前面的兩兩交換相鄰,此時(shí)也不會(huì)交換,所以前后相同元素的順序沒有變化,所以冒泡排序是一種穩(wěn)定的排序算法。
本文到此結(jié)束,希望對(duì)大家有所幫助。