選擇排序,氣泡排序和插入排序使用時間的對比

2021-06-01 23:22:24 字數 979 閱讀 3313

三個排序演算法,以時間為計算單位,對比它們的使用效率;為了準確對比,都使用了相同的陣列;但是由於每次產生的隨機數組都不同,導致排序遍歷與交換的次數也不同;所以這裡僅針對每一次的結果的對比,具體一定的隨機性,但總的來說還是會趨近每個演算法自身的時間複雜度。

其中的乙個結果如下

selectsort:**********==

bubblesort:**********===

insertsort :**********

each sort used time:    12      13      10

**如下:

#include#include#include#define number 10000

double selectionsort(int ,int);

double bubblesort(int ,int);

double quicksort(int ,int,int);

double insertsort(int ,int);

void showchart(int ,int);

void display(int ,int);

int main()}}

end = clock();

cost = (double)(end - begin) / clocks_per_sec;

//display(num,count);

return cost;

}double insertsort(int num,int count)

{ clock_t begin, end;

double cost;

int i,j,temp;

begin = clock();

for(i = 1;i < count;i++)

{temp=num[i];

j=i-1;

while((j>=0)&&(temp**寫得沒有什麼可觀賞價值,有什麼不足之處歡迎指出。

氣泡排序 選擇排序和插入排序

氣泡排序 思路 將相鄰的兩個數比較,將較小的數調到前頭 有n個數就要進行n 1趟比較,第一次比較中要進行n 1次兩兩比較,在第j趟比較中,要進行n j次兩兩比較。依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放...

氣泡排序和插入排序,選擇排序

插入排序原理 對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序核心 假設第乙個元素排好,之後的元素對排好的部分從後向前比較並逐一移動。選擇排序 按第乙個元素為基礎,遍歷所有元素,找出最小值,然後調換 公升序 include includevoid embed int a,in...

氣泡排序 選擇排序和插入排序

一 氣泡排序 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複以上過程,直至最終完成排序。氣泡排序是穩定的。演算法時間複雜度是o n 2 二...