/*
**排序演算法比較**
利用隨機函式產生n個隨機整數,利用直接插入排序、折半插入排序,起泡排序、快速排序、選擇排序、堆排序,基數排序七種排序方法進行排序(結果為由小到大的順序),並比較次數和交換次數。
這裡是源**
*/#include
using
namespace
std;
#include
#include
#include
#define low 1
#define high 1000000
#define success 1
#define unsucess 0
#define duplicate -1
#define ok 1
#define error 0
#define list_init_size 30002 // 線性表儲存空間的初始分配量
#define listincreament 200 // 線性表儲存空間的分配增量
#define member 30
#define max_size 200
typedef
int status;
typedef
struct
sorto;
typedef
int status;
typedef
int elemtype;
typedef
struct
sqlist;
status initlist_sq(sqlist &l) // 構造乙個空的線性表
status creatlist(sqlist &l,int len)
for (int i = 1; i <= len; i++)
l.elem[i] = num;
num = 0;
l.length++;
if (l.length + 1>l.listsize) // 如果超出了線性表已申請的空間
}file.close();
return ok;
}status randomnum()
file.close();
return ok;
}status insersort(sqlist &l, sorto &o)
l.elem[j + 1] = l.elem[0];
o.exchange++;}}
return ok;
}status binsertsort(sqlist &l, sorto &o)
for (int j = i - 1; j >= high + 1; j--)
l.elem[high + 1] = l.elem[0];
o.exchange++;
}return ok;
}status bubblesort(sqlist &l, sorto &o)}}
return ok;
}int partition(sqlist &l, int low, int high, sorto &o)
l.elem[low] = l.elem[0];
l.elem[0] = 0;
o.exchange++;
return low;
}status qsort(sqlist &l, int l, int h, sorto &o)
return ok;
}void quicksort(sqlist &l, sorto &o)
status selectsort(sqlist &l, sorto &o)
}if(k!=i)
}return ok;
}status heapadjust(sqlist &l, int s, int m, sorto &o)
l.elem[s] = rc;
o.exchange++;
return ok;
}status heapsort(sqlist &l, sorto &o)
return ok;
}status radixsort(sqlist &l, sorto &o)
; int k;
int n;
int p;
n = 1;
while (n <= 100000)
o.exchange+=2;
temp[k][order[k]] = l.elem[i];
order[k] = 1+order[k];
}p = 1;
for (int i = 0; i < 10; i++)
order[i] = 0;}}
n =n*10;
}return ok;
}void print(sqlist l)
cout
<< endl;
}int main()
幾種排序演算法的實現與比較 c 容器
description 使用插入排序將容器內數進行排序 idea 1.從容器中取數,每次都把取到的數插入到正確到位置。q a 1.q 當拿到乙個數a時,如何將這個數插入到正確的位置?a 將a與已經插入到所有數進行比較,找到第乙個比a大到數字置,在這個數到前面插入之 2.q 如何判斷已經排完序,即結束...
幾種排序演算法的實現和比較
穩定性 穩定 最壞時間複雜度o n 2 最好時間複雜度o n 平均時間複雜度o n 2 void bubble sort int a,int n if flag break 穩定性 穩定 平均時間複雜度o n 2 最壞時間複雜度o n 2 最好時間複雜度o n void insert sort in...
幾種排序演算法比較
資料結構 10 排序十 四 排序 sort thinking in algorithm 12.詳解十一種排序演算法 排序法平均時間 最差情形 穩定度額外空間 備註冒泡 o n2 o n2 穩定o 1 n小時較好 交換o n2 o n2 不穩定o 1 n小時較好 選擇o n2 o n2 不穩定o 1 ...