⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sort.h

📁 算法导论上面各种排序算法的实现及排序性能比较的c语言实现代码
💻 H
字号:

//file  sort.h


#ifndef SORT_H
#define SORT_H

//样本容量
#define MAXTEN 10
#define MAXTHOUSAND 1000
#define MAXTENTHOUSAND 10000
#define MAXHUNDREDTHOUSAND 100000



typedef struct headnode{
        double b_array[MAXHUNDREDTHOUSAND];   //桶排序中的桶结构
        int   num;
}headnode;

headnode b[10];  //定义10个桶


//归并排序中用到的数组
double L[MAXHUNDREDTHOUSAND];     
double R[MAXHUNDREDTHOUSAND];

//存放各种容量样本的数组
double tenarray[MAXTEN];
double thouarray1[MAXTHOUSAND],thouarray2[MAXTHOUSAND];
double tetharray1[MAXTENTHOUSAND],tetharray2[MAXTENTHOUSAND];
double hutharray1[MAXHUNDREDTHOUSAND],hutharray2[MAXHUNDREDTHOUSAND];


void merge(double array[], int p, int q, int r); 
void merge_sort(double array[], int p, int r);
double mergesort(double array[],int size);  //合并排序
double insertsort(double array[],int n);    //插入排序
double shellsort(double array[], int n);    //希尔排序
void swap(double *a, double *b);
int  partition(double *array, int low, int high);
void quick_sort(double *array, int low, int high);
double quicksort(double *array, int size);    //快速排序
double bubblesort(double *array, int size);   //冒泡排序
void init(headnode *b);   //初始化桶
void insertelements(headnode b[],double array[],int size); //向桶中插入元素
void sortelements(headnode b[]); //对桶进行排序
void collectelements(double array[],headnode b[]);  //收集桶中元素
void zerobucket(headnode b[]);   //清零桶
double bucketSort(double array[],int size);   //桶排序
void rand_array(double *array, int length, int N_max);
void printarray(double array[],int n);     //打印数组  
void randarray(double *array, int length);    //产生随机数组
void copyarray(double *array1,double *array2,int n);  //复制数组
double aveRunTime(int i,int n,int len);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -