第
一、氣泡排序(bubble sort)
排序原理:重複地遍歷要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。
例子:
void bubble_sort(int array, int n)
for(i=0;i三、插入排序(insertion sort)
工作原理:是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。
例子:void insert_sort(int array, int n)
array[j+1]=temp;
} }
四、歸併排序(簡單)
工作原理:歸併排序要稍微複雜一點,歸併排序的實現分為 遞迴實現 與 迭代實現 。
遞迴實現的歸併排序是演算法設計中分治演算法(演算法後期再說)的典型應用,我們將乙個大問題分割成小問題分別解決,然後用所有小問題的答案來解決整個大問題。
非遞迴(迭代)實現的歸併排序首先進行是兩兩歸併,然後四四歸併,然後是八八歸併成倍,一直類推直到歸併了整個陣列。
例子://模板(字元同)
#include#define m 10
#define n 10
void main()
; //一開始就有順序
int b[n]=; //一開始就有順序
int c[m+n];
int i=0, j=0, k=0; // i:a的下標,j:b的下標,k:c的下標
while(i五、快速排序
工作原理:
在區間中隨機挑選乙個元素作基準,將小於基準的元素放在基準之前,大於基準的元素放在基準之後,再分別對小數區與大數區進行排序。
#include#define n 10
void quick_sort(int left,int right,char a)
{ int i,j,t,temp;
if(left>right) return;
temp=a[left];
i=left;
j=right;
while(i!=j)
{while(a[j]>=temp&&i總結:以上是五種排序方式的簡單說明,深入刨析有空再寫~
C語言程式設計 C語言的歸併排序演算法!
用歸併排序法對一組資料由小到大進行排序,資料分別為 695 458 362 789 12 15 163 23 2 986。1 自定義函式 merge 實現一次歸併排序。2 自定義函式 merge sort 實現歸併排序。include int merge int r,int s,int x1,int...
歸併排序 C語言
今天寫的是歸併排序,歸併排序的定義為 依次將每兩個相鄰的有序表合併成乙個有序表的排序方法。最經常使用的歸併方法是2 路歸併。假設初始序列含有n個記錄,則可看成是n個有序的子串行,每個子串行的長度為1,然後兩兩歸併,得到 n 2 個長度為2或1的有序子串行 再兩兩歸併,如此重複,直至得到乙個長度為n的...
c語言 檔案
1.檔案指標 在 語言中用乙個指標變數指向乙個檔案,這個指標稱為檔案指標。通過檔案指標就可對它所指的檔案進行各種操作。定義說明檔案指標的一般形式為 file 指標變數識別符號 例如 file fp 2.檔案的開啟 fopen函式用來開啟乙個檔案,其呼叫的一般形式為 檔案指標名 fopen 檔名,使用...