冒泡,選擇,快速排序

2021-06-21 00:03:23 字數 474 閱讀 1930

氣泡排序:

比較相鄰的兩個數,把比較的冒上去,所以很簡單的得到:

for(i=0;i<5;i++)}}

選擇排序:

就是打擂台的方式,每一次找出最大的與末尾的交換,先把啊a[i]的值和位置存上,然後與a[j]比較,如果value大就賦值給臨時變數,然後交換位置:

void selectsort(char *a,int n)

a[index] = a[i];

a[i] = value;}}

}快速排序:

看到別人的部落格,講的比較透徹,主要理解就是:挖坑填數+分治法!以第乙個數為基準,挖坑,把第乙個存起來,然後i++,j--將大於這個數的放在後半部分,小於的放在前半部分。

void quick_sort(int s,int l,int r)

s[i] = x;

quick_sort(s,l,i-1);

quick_sort(s,i+1,r);}}

選擇,冒泡,快速排序

排序演算法是演算法中比較基礎的,在這裡先對三種最簡單的排序演算法做個總結。一 選擇排序 大致思路為 依次選擇無序區的最小值和無序區的第乙個值交換。void exchange int a,int b void selection sort int a,int len 時間複雜度為n 2。二 氣泡排序 ...

氣泡排序,選擇排序,快速排序

1.氣泡排序 氣泡排序 bubble sort 最為簡單的一種排序,通過重複走完陣列的所有元素,通過打擂台的方式兩個兩個比較,直到沒有數可以交換的時候結束這個數,再到下個數,直到整個陣列排好順序。因乙個個浮出所以叫氣泡排序。雙重迴圈時間o n 2 void bubblesort int arr in...

氣泡排序 選擇排序 快速排序

氣泡排序的思想在於,不斷地將當前元素與後乙個元素進行比較,如果當前元素較小,則調換當前元素與後乙個元素的位置,否則保持不變 假設需要排序的元素一共有n個,從第乙個元素開始,對後續的 n 2 元素進行上述比較,最終的排序結果中,最後的元素是最大值。def bubble sort alist n len...