氣泡排序:
比較相鄰的兩個數,把比較的冒上去,所以很簡單的得到:
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...