资源简介
快速排序与归并排序的比较、马周游问题、旅行商算法、

代码片段和文件信息
#include
#include
#include
#include
void split_sort(int *array int low int high long &compares);
void mergessort(int *array int *array1 int low int high long &compares);
const int SIZEE = 50000;
const int MAXNUM = 5000000;
void rand_array(int *&arrayint *&array1int size);
void output(int *array int size)
{
for(int i = 0 ; i< size; i++)
{
cout< }
cout< }
int main()
{
clock_t start finish;
double t;
srand( (unsigned)time( NULL ) );
long compares = 0;
long starttimecurrenttime;
int n = 50;
for(int i = 1 ; i <= n ; i++)
{
int num = i * SIZEE;
int *array = new int[num];
int *array1 = new int[num];
rand_array(arrayarray1i*SIZEE);
compares = 0;
start = clock();
split_sort(array 0i*SIZEE-1 compares);
finish = clock();
t = (double)(finish - start) ;
cout<<“第“< “ ms 比较次数是 :“< cout< compares = 0;
start = clock();
mergessort(array1 array 0i*SIZEE-1 compares);
finish = clock();
t = (double)(finish - start);
cout<<“第“< “ ms 比较次数是 :“< system(“pause“);
cout< cout< cout< }
return 0;
}
void rand_array(int *&arrayint *&array1 int size)
{
for(int i = 0 ; i < size ; i++)
{
array[i] = rand() % MAXNUM;
array1[i] = array[i];
}
return ;
}
void change(int &a int &b)
{
int temp = a;
a = b;
b = temp;
}
void split_sort(int *array int low int high long &compares)
{
if(low >= high)
return ;
int mid = (low + high) / 2;
// compares++;
if(array[low] < array[mid])
{
change(array[low] array[mid]);
}
// compares++;
if(array[low] > array[high])
{
change(array[low] array [high]);
}
int n = low ; int m = high;int x = array[n];
int temp;
while(n < m)
{
while((n < m) && array[m] >= x)
{
compares++;
m--;
}
temp = array[n] ;
array[n] = array[m];
array[m] = temp;
while((n < m)&& (array[n] <= x))
{
compares++;
n++;
}
temp = array[n];
array[n] = array[m];
array[m] = temp;
}
change(array[low]array[n-1]);
split_sort(arraylown-1compares);
split_sort(arrayn+1highcompares);
}
void mergessort(int *array int *array1 int low int high long &compares)
{
if(low >= high )
return;
// compares++;
int mid = (low + high) / 2;
mergessort(array array1 low mid compares );
mergessort(array array1 mid+1 high compares);
for(int i = low ; i <= high ; i++)
{
array1[i] = array[i];
}
int n = low;
int m = mid+1;
int index =low;
while(n <= mid && m <= high)
{
compares++;
if(array1[n] < array1[m])
{
array[index++] = array1[n++];
}
else
{
array[index++] = arr
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3180 2013-06-24 19:20 ALo_1\Alo_1.cpp
文件 4266 2013-07-29 22:36 ALo_1\ALo_1.dsp
文件 1905 2013-06-24 08:48 ALo_1\ALo_1.dsw
文件 246784 2013-12-31 00:43 ALo_1\ALo_1.ncb
文件 89088 2013-12-31 00:43 ALo_1\ALo_1.opt
文件 1074 2013-07-29 22:33 ALo_1\ALo_1.plg
文件 2874 2013-06-24 11:07 ALo_1\alo_3\alo_3.cpp
文件 4270 2013-06-10 20:20 ALo_1\alo_3\alo_3.dsp
文件 1409 2013-12-18 20:38 ALo_1\alo_3\alo_3.plg
文件 626763 2013-12-18 20:38 ALo_1\alo_3\Debug\alo_3.exe
文件 1229384 2013-12-18 20:38 ALo_1\alo_3\Debug\alo_3.ilk
文件 287707 2013-12-18 20:38 ALo_1\alo_3\Debug\alo_3.obj
文件 3248244 2013-12-18 20:38 ALo_1\alo_3\Debug\alo_3.pch
文件 1115136 2013-12-18 20:38 ALo_1\alo_3\Debug\alo_3.pdb
文件 212413 2013-12-18 20:38 ALo_1\alo_3\Debug\alo_3.sbr
文件 82944 2013-12-19 00:13 ALo_1\alo_3\Debug\vc60.idb
文件 135168 2013-12-18 20:38 ALo_1\alo_3\Debug\vc60.pdb
文件 4043 2013-06-18 22:19 ALo_1\alo_3_1\alo_3_1.cpp
文件 4296 2013-06-17 23:58 ALo_1\alo_3_1\alo_3_1.dsp
文件 1309 2013-12-19 00:13 ALo_1\alo_3_1\alo_3_1.plg
文件 577615 2013-12-19 00:13 ALo_1\alo_3_1\Debug\alo_3_1.exe
文件 811024 2013-12-19 00:13 ALo_1\alo_3_1\Debug\alo_3_1.ilk
文件 301771 2013-12-19 00:13 ALo_1\alo_3_1\Debug\alo_3_1.obj
文件 6462916 2013-12-19 00:13 ALo_1\alo_3_1\Debug\alo_3_1.pch
文件 1131520 2013-12-19 00:13 ALo_1\alo_3_1\Debug\alo_3_1.pdb
文件 197632 2013-12-30 22:25 ALo_1\alo_3_1\Debug\vc60.idb
文件 159744 2013-12-19 00:13 ALo_1\alo_3_1\Debug\vc60.pdb
文件 967 2013-06-15 15:22 ALo_1\MM_travel\fds.cpp
文件 1147 2013-06-15 15:22 ALo_1\MM_travel\fds.h
文件 1594 2013-06-15 16:24 ALo_1\MM_travel\MainFrm.cpp
............此处省略57个文件信息
- 上一篇:MiniGUI移植到uCOS 移植全部源码
- 下一篇:vhdl语言电子琴设计
相关资源
- 信息素S型更新的耦合ACO算法及其应用
- 温度传感器DS18B20序列号批量搜索算法
- 多传感器标定算法
- SVR算法程序可运行
- 计算机图形学 边填充算法实现代码
- 福建师范大学历年算法考卷
- 栈的实现及应用,六种基本算法
- Bresenham算法绘制线段并利用“橡皮筋
- 介绍几种压缩算法及《笨笨数据压缩
- 改进的BP神经网络算法
- A星算法_原理讲解_例子
- 云模型的相关算法cloud
- 旋转矩阵求欧拉角的简单算法
- 栅栏填充算法源码(VC)
- RSA算法源码
- 关联分析Apriori算法实现
- [免费]relax算法成像
- 操作系统 LRU算法 实验报告 及 程序代
- 分治法快速排序算法QuickSort C
- 现代谱估计算法 music ESPRIT 谐波分解
- MUSIC算法c 实现
- 007出纳管理系统 v7[1].5.94 算法注册机
- 克鲁斯卡尔算法C和C 实现代码
- capon波束形成算法-VC实现
- QGA 量子遗传算法
- 利用OpenGL写毛笔字算法
- 带头结点的单链表的c算法实现
- 自适应隐写算法wow
- 协同过滤算法源码
- RSA AES DES ECC加密算法源码
评论
共有 条评论