#include #include #include void getrandomarr (int arr, int n);
void printarr (int arr, int n);
void swap (int arr, int i, int j);
void insertsort (int arr, int n);
int compare(const int *a, const int *b);
int main ()
// 函式功能: 對主程式中的陣列進行, 隨機數賦值
// 引數: arr 主程式陣列名稱, n 陣列大小
void getrandomarr (int arr, int n)
for (j=i-1; j>=1; j--)
}// printarr(arr, n);
}}/*
返回值: >0, 說明arg1 > arg2, 也就是arg1在arg2右邊,
從小到大排序
*/int compare(const int *a, const int *b) else if (arg1 > arg2) else
return res;
}
執行結果:
待排資料共 40000 個
插入排序用時: 3.8570秒
快速排序用時: 0.0080秒
快速排序是插入排序的 482 倍
process returned 0 (0x0) execution time : 3.983 s
press any key to continue.
C語言排序演算法 快速排序 插入排序
1 插入排序 插入排序 英語 insertion sort 是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。有點像玩撲克牌時整理紙牌順序 void insert int arr,int n arr i key void in...
氣泡排序,插入排序,選擇排序和快速排序 C語言
這篇博文主要用於自己學習的文章梳理,方便以後回憶。first,氣泡排序,演算法的時間複雜度是n n 在資料較多的時候,和快速排序比較執行時間,簡直慢的掉渣,氣泡排序的思想,主要是相鄰兩個元素比較,如果前乙個元素比後乙個元素大,則進行交換,否則繼續後移,知道一次迴圈結束,此時最後乙個元素是序列中最大的...
插入排序(C語言)
採用先確定數字然後找位置的方法。每次把最前面或最後面的沒有排好序的數字插入到已經排好序的數字中間合適的位置上。不斷把選擇好的數字和相鄰的數字做順序調整,直到它被放在合適的位置上。插入排序 include void insert sort int p num,int size int num 0,nu...