排序的三種方式(冒泡,插入,和選擇)

2021-07-12 07:04:43 字數 641 閱讀 5777

一:氣泡排序:

#include#includevoid bubble_sort(int *arr,int len)

} if(flag)//如果一趟走完flag為1,說明內部沒有發生交換。證明後面的數字已經有序,直接跳出

mark=n;//將下標賦給mark,減少下次內部迴圈的次數,提高效率 }}

int main()

; int len=sizeof(arr)/sizeof(arr[0]);

int i=0;

bubble_sort(arr,len);

for(i=0;i#includevoid selection_sort(int *arr,int len)

for(i=0;i#includevoid direct_insertion_sort(int *arr,int len)

arr[j+1]=tmp;//a[i]插入適當位置 }}

int main()

; int len=sizeof(arr)/sizeof(arr[0]);

int i=0;

direct_insertion_sort(arr,len);

for(i=0;ireturn 0;

}

冒泡 選擇 插入三種排序

工作閒下來了,偶來學習下排序演算法的思想,適當的緩解下壓力,換個思考方式也很不錯的。氣泡排序 是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為...

冒泡 插入 選擇 三種排序

一 氣泡排序 演算法思路 兩兩比較相鄰記錄之間關鍵字,如果反序則交換,直到沒有反序的記錄為止。具體 import random data n int raw input for re in range 0,n a random.randint 1,1000 data re a print data ...

三種簡單排序 冒泡 選擇 插入

include using namespace std 簡單排序 平均時間複雜度都是o n方 級別。包括 氣泡排序 插入排序 選擇排序 說明 實現的演算法都是公升序排序。void swap int e1,int e2 氣泡排序 穩定 重複地走訪過要排序的元素列,一次比較兩個相鄰的元素,如果他們的順序...