c語言檔案歸併問題 C語言的幾種常見排序方式

2021-10-17 08:28:02 字數 1110 閱讀 8173

一、氣泡排序(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 檔名,使用...