幾種排序演算法實現分析

2021-06-15 05:11:45 字數 1007 閱讀 1380

合併排序

void merge(int a,int left,int mid,int right,int b)

else

}void copy(int a,int b,int left,int right)

void mergesort(int a,int left,int right,int len)

int partion(int a,int low,int high)

swap(a[j],a[low]);

return j;

} void quicksort(int a,int low,int high)

void insertsort(int a,int len)

int mi(int cnt)

return s;

}void hillinsert(int a,int d,int len)

void bubblesort(int a,int len)

}}

堆排序

#include "queue.h"

#include "queueitem.h"

#include #include #include #include using namespace std;

void swap(int &a,int &b)

void heapadjust(int a,int len,int s)

}void heapsort(int a,int len)

for(int i=0;i=1;i--)

;struct sllist

;//將每位相同的組合在一起形成單獨的鍊錶

void distribute(sllist &r,int index,int f,int e)

{ int len = r.recnum;

for(int i=0;i=0;i--)

{cout<=0;i--)

{cout<

幾種排序演算法實現

class sort include sort.h include sort sort void sort sort void 交換兩個數 inline void sort swap int a,int b 氣泡排序 1.比較相鄰的前後兩個資料,如果前面的資料大於後面的資料,就將兩個資料交換。2.這...

C 實現幾種排序演算法

概念 氣泡排序的大概思想是兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序為止 1.普通冒泡法 void bubblesort vector vi 2.優化冒泡法,增加標誌位,對已經有序的序列不在進行比較 void bubblesort2 vector vi 概念 通過n i次關鍵字間的比較,...

幾種排序演算法的實現

對陣列int a n 進行直接插入排序 void insertsort int a,int n r j 1 temp 完成下標為i的元素的排序 對陣列a n 進行折半插入排序 void insertsort int a,int n 折半查詢結束 移動元素 for j i j high 1 j a j...