C 氣泡排序和選擇排序

2021-08-07 04:30:56 字數 1151 閱讀 8434

氣泡排序

理論: 從第乙個數開始,將相鄰的兩個數比較,第乙個數和第二個數比較.....,要是是從小到大的排序,要是後面的數比前面的大則交換兩個的位置,這樣第一輪比較基數後最大的數就到了最後面,接著進行第二趟的比較,比較到前面n-1個數,原理也是前面的那樣,大的往後面不停的排,直到比較到前面只剩下乙個數的時候,就完成了排序,這就是冒泡的原理:

下面用這個圖代表一下偽**,畫一下流程,說實話,在學校學習的時候,我連這個圖都不理解!

氣泡排序的**:

#include "stdio.h"

#define n 10

int main()}}

printf("排序的結果是:");

for(i=0;i下面是寫的過程中出現的錯誤分析:

選擇排序 

理論:這個選擇排序一起在上學的時候,感覺就是死腦子,就是有點轉不過來彎,就是不理解,說的感覺大學白上了,我故事是被大學白上了,被玩了四年出來發現自己啥都不懂,哈哈哈。。。可能是那時候笨吧,現在說說這個原理,選擇排序,就像是打擂台一樣,我們先選第乙個位置的數為基準位置,後面的乙個乙個挑戰,(比如我們從小到大排序),要是第二個數比第乙個數小,則換擂主,第三個比第二個又小,再換,直到一輪比賽結束,找到最小的在前面,接著我們開始第二輪,第二輪以第二個數為基準。後面的一次比較。。直到最後乙個數,這樣就整個排序過程出來了,無聊在畫個圖:

下面是基本的**部分:

#include "stdio.h"

#define n 10

int main( )

if(k!=i)

}printf("最終排序的結果是:");

for(i=0;i上面就ok,這裡沒有什麼錯,最後看一下結果:

氣泡排序和選擇排序 C 實現)

氣泡排序 從陣列的第乙個元素開始 arr 0 兩兩比較 arr n arr n 1 如果前面的數大於後面的數,則交換兩個元素的位置,把大的數往後移動。經過一輪比較後,最大的數會被交換到最後的位置 arr n 1 選擇排序 通過比較,選出每一輪中最值元素 最大或最小 然後把它和本輪中的第乙個元素進行交...

c語言 氣泡排序和選擇排序

氣泡排序將乙個列表中的兩個元素進行比較,並將最小的元素交換到頂部。兩個元素中較小的會冒到頂部,而較大的會沉到底部,該過程將被重複執行,直到所有元素都被排序。氣泡排序示意圖 以如圖所示的氣泡排序為例,每次比較相鄰的兩個值,值小的交換到前面,每輪結束後值最大的數交換到了最後。第一輪需要比較4次 第二輪需...

排序 氣泡排序和選擇排序

目錄 氣泡排序 氣泡排序原理圖 demo 執行 選擇排序 氣泡排序原理圖 demo 執行 說明 include include using namespace std name 氣泡排序法 number 傳入陣列 length 陣列長度 setw 需要匯入 include ps 這是乙個lib.h的...