资源简介
各种排序算法的实现和性能比较C程序源代码,算法导论课程的实验,C语言实现的,

代码片段和文件信息
//file sort.c
#include “sort.h“
#include
#include
#include
#include
void merge(double array[] int p int q int r)
{
int n1 n2;
int ijk;
n1 = q - p + 1;
n2 = r - q;
for(i = 0 k = p; i < n1; i++ k++)
L[i] = array[k];
for(i = 0 k = q + 1; i < n2; i++ k++)
R[i] = array[k];
for(k = p i = 0 j = 0; i < n1 && j < n2; k++)
{
if(L[i] <= R[j])
{
array[k] = L[i];
i++;
}
else
{
array[k] = R[j];
j++;
}
}
if(i < n1)
{
for(j = i; j < n1; j++ k++)
array[k] = L[j];
}
if(j < n2)
{
for(i = j; i < n2; i++ k++)
array[k] = R[i];
}
}
void merge_sort(double array[] int p int r)
{
if(p < r)
{
int q = (p + r) / 2;
merge_sort(array p q);
merge_sort(array q + 1 r);
merge(array p q r);
}
}
double mergesort(double array[]int size)
{
clock_t startend;
start = clock();
merge_sort(array0size - 1);
end = clock();
return (double)(end - start) / CLOCKS_PER_SEC;
}
double insertsort(double array[]int n)
{
clock_t startend;
int ij;
double temp;
start = clock();
for(j=1;j {
temp = array[j];
i = j-1;
while ((i>=0) && (array[i]>temp))
{
array[i+1] = array[i];
i = i - 1;
}
array[i+1] = temp;
}
end = clock();
return (double)(end - start) / CLOCKS_PER_SEC;
}
double shellsort(double array[] int n)
{
clock_t startend;
int h i k;
double temp;
start = clock();
for (h=n/2; h>0; h=h/2)
{
for (i=h; i {
temp = *(array+i);
for (k=i-h; (k>=0 && temp<*(array+k)); k-=h)
{
*(array+k+h) = *(array+k);
}
*(array+k+h) = temp;
}
}
end = clock();
return (double)(end - start) / CLOCKS_PER_SEC;
}
void swap(double *a double *b)
{
double temp = *a;
*a = *b;
*b = temp;
}
int partition(double *array int low int high)
{
double temp = array[high];
int ij;
i = low - 1;
for(j = low;j {
if(array[j]<=temp)
{
i = i + 1;
swap(&array[i]&array[j]);
}
}
swap(&array[i+1]&array[high]);
return i + 1;
}
void quick_sort(double *array int low int high)
{
int q;
if(low {
q = partition(arraylowhigh);
quick_sort(arraylowq-1);
quick_sort(arrayq+1high);
}
}
double quicksort(double *array int size)
{
clock_t startend;
start = clock();
quick_sort(array 0 size-1);
end = clock();
return (double)(end - start) / CLOC
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4462 2008-10-30 00:41 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\HomeworkSort.dsp
文件 532 2008-10-17 19:44 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\HomeworkSort.dsw
文件 58368 2008-10-30 21:37 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\HomeworkSort.ncb
文件 54784 2008-10-30 21:37 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\HomeworkSort.opt
文件 781 2008-10-30 21:36 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\HomeworkSort.plg
文件 9613 2008-10-18 22:19 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\sort.c
文件 1828 2008-10-18 19:46 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\sort.h
文件 7592 2008-10-18 19:48 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\sortmain.c
文件 217162 2008-10-30 00:39 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\Debug\HomeworkSort.exe
文件 226792 2008-10-30 00:39 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\Debug\HomeworkSort.ilk
文件 517120 2008-10-30 00:34 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\Debug\HomeworkSort.pdb
文件 22307 2008-10-30 21:36 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\Debug\sort.obj
文件 20346 2008-10-30 21:36 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\Debug\sortmain.obj
文件 41984 2008-10-30 21:36 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\Debug\vc60.idb
文件 53248 2008-10-30 21:36 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\Debug\vc60.pdb
目录 0 2009-04-03 18:52 各种排序算法的实现和性能比较C程序源代码\HomeworkSort\Debug
目录 0 2009-04-03 18:52 各种排序算法的实现和性能比较C程序源代码\HomeworkSort
目录 0 2009-04-03 18:52 各种排序算法的实现和性能比较C程序源代码
----------- --------- ---------- ----- ----
1236919 18
相关资源
- C++中头文件与源文件的作用详解
- 基于mfc的多线程文件传输
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 利用C++哈希表的方法实现电话号码查
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 移木块游戏,可以自编自玩,vc6.0编写
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- C++纯文字DOS超小RPG游戏
- 个人日常财务管理系统(C语言)
- MFC数字钟(基于VC6.0)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- 安科瑞智能电能表MODBUS通讯程序 VC6
- C语言实现的一个内存泄漏检测程序
评论
共有 条评论