快速,起泡,選擇排序

2021-06-18 04:34:16 字數 658 閱讀 2958

一:

選擇排序法:t(n)=o(n2)(時序複雜度)

通過記錄陣列下標的方法來進行排序的,找到第乙個最小的數後把它放在第乙個位置上。第二次從陣列的第二個元素查詢,找到第二個最小的數然後與陣列的第二個元素交換。依次類推,共需要經過n-1趟。

void select_sort(int s[n], int n)

t = s[i];

s[i] = s[min];

s[min] = t;}}

二:起泡排序法:t(n)=o(n2)

void bubble_sort(int s[n], int n)

// end if

}  // end for 

if ( !flag ) break;}}

三:快速排序法:t(n)=o(nlog2n)

利用的思想是遞迴思想,經過key的一趟排序,確定某個記錄(資料)在排序後的最終位置。

void quick_sort(int s[n], int low, int high)

s[i] = key;

if (low < i-1) quick_sort(s, low, i-1);

if (high > i+1) quick_sort(s, i+1, high);

}比較這三種排序的時間複雜度快速排序的時間複雜度最小。

起泡排序 快速排序

起泡排序和快速排序都屬於交換排序,時間複雜度均為o n 2 其中心思想是各資料之間的比較,然後交換其位置,以實現有序的操作。所謂交換,就是根據序列中兩個記錄鍵值的比較結果來 對換這兩個記錄在序列中的位置,交換排序的特點是 將鍵值較大的記錄向序列的尾部移動,鍵值較小的記錄向序列的 前部一.起泡排序 又...

起泡排序和簡單選擇排序小結

起泡排序和簡單選擇排序都是一種很簡單的排序方法,它們的時間複雜度都為o n2 其中起泡排序是一種穩定的排序方法,而簡單選擇排序是一種不穩定的排序方法.這裡直接貼 起泡排序和簡單選擇排序.cpp 定義控制台應用程式的入口點。include stdafx.h include using namespac...

陣列裡面的選擇排序與起泡排序比較

起泡排序的思路是 將相鄰兩個數比較,將小的調到前頭 選擇排序的思路是 將乙個數和它後面的所有數比較,用最小的對換它,沒有則不換 核心 起泡排序 for j 0 j 9 j 進行9次迴圈,實現9趟比較 選擇排序 for i 1 i 9 i 通過對變數i賦值,比較兩者變數j的取值範圍,可知兩者在遍歷的時...