起泡排序 快速排序

2021-08-20 16:46:43 字數 843 閱讀 6267

起泡排序和快速排序都屬於交換排序,時間複雜度均為o(n^2),其中心思想是各資料之間的比較,然後交換其位置,以實現有序的操作。

所謂交換,就是根據序列中兩個記錄鍵值的比較結果來

對換這兩個記錄在序列中的位置,交換排序的特點是:將鍵值較大的記錄向序列的尾部移動,鍵值較小的記錄向序列的

前部一.起泡排序

又稱氣泡排序,是一種常見的排序方法。名字就反應了他的思想--冒泡,關鍵字值大像石頭一樣往下沉,關鍵字值小的像水中氣泡一樣逐趟往上漂浮,每一趟有一塊最大的「石頭」沉到水底。

void bubblesort(int data)//起泡排序

}}

二.快速排序

快速排序比起泡排序更加常用,據說sort函式實際上就是用的快排(這點沒驗證過),應該說快排是幾種排序方法裡面比較穩定的演算法。快排與起泡排序不同的是,它定義了乙個樞軸,然後進行比較,關鍵字值小的放樞軸前面,大的放後面。再對樞軸的前面和後面資料分別進行同樣方法的排序(也就是要遞迴了),最後直至全部有序。上**:

int quicksort(int data,int low,int high)//快速排序尋找樞軸並使樞軸左端小於樞軸值,右邊大於樞軸值

if(i>=high) low=key;

}data[key]=data[0];

return key;

}void quicksort_recursive(int data,int low,int high)//快速排序遞迴

}void quicksort_main(int data)//快速排序入口

int main()

馬上就考了,肝不動了......

快速,起泡,選擇排序

一 選擇排序法 t n o n2 時序複雜度 通過記錄陣列下標的方法來進行排序的,找到第乙個最小的數後把它放在第乙個位置上。第二次從陣列的第二個元素查詢,找到第二個最小的數然後與陣列的第二個元素交換。依次類推,共需要經過n 1趟。void select sort int s n int n t s ...

改進的起泡排序演算法

一 基本思路 氣泡排序是一種簡單的交換類排序。其基本思路是從頭開始掃瞄待排序的元素,在掃瞄過程中依次對相鄰元素進行比較,將關鍵字值大的元素後移。每經過一趟排序後,關鍵字值最大的元素將移到末尾,此時記下該元素的位置,下一趟排序只需要比較到此位置為止,直到所有元素都已有序排列。一般地,對n個元素進行氣泡...

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

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