合併排序
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...