base.h

来自「各种内部排序算法的实现和比较」· C头文件 代码 · 共 66 行

H
66
字号
#include "iostream.h"
#include "iomanip.h"
#include "string.h"
#include "math.h"
#include "stdlib.h"

#define NUM 10
#define LT(a,b) ((a)<(b))
////////////////////// SqList存储结构 //////////////////////////////////////

#define MAXSIZE	50000		//顺序表最大长度

typedef int KeyType;		//关键字为整型
typedef struct{
	KeyType		key;		//关键字
//	InfoType	otherinfo	//其他数据项
}RedType;					//记录类型

typedef struct{
	RedType	*r;				//r[0]闲置或哨兵
	int		length;			//顺序表长度
}SqList;					//顺序表类型
/////////////////////////////////////////////////////////////////////////////

////////////////////////////// SLinkListType存储结构 ////////////////////////
#define SIZE	50000		//静态链表容量
//#define LT(a,b) ((a)<(b))

typedef int RcdType;		//关键字为整型

typedef struct{
	RcdType		rc;			//记录项
	int			next;		//指针项
}SLNode;					//表节点类型

typedef struct{
	SLNode	*r;				//0号单元为表头节点
	int		length;			//链表当前长度
}SLinkListType;				//静态链表类型
/////////////////////////////////////////////////////////////////////////////

///////////////////////////// 堆排序存储结构 ////////////////////////////////
typedef SqList HeapType;	//与顺序表L相同

/////////////////////////////////////////////////////////////////////////////

///////////////////////////// 基数排序存储结构 //////////////////////////////
#define MAX_NUM_OF_KEY	8				//关键字项数的最大值
#define RADIX			10				//关键字基数,此时是十进制整数的基数
#define MAX_SPACE		50000			//静态链表容量

typedef char KeysType;
typedef struct{
	KeysType keys[MAX_NUM_OF_KEY];		//关键字
//	InfoType otheritems;				//其它数据项
	int next;
}SLCell;								//静态链表的结点类型

typedef struct
{
	SLCell *r;				//静态链表的可利用空间,r[0]为头结点
	int keynum;							//记录的当前关键字个数
	int recnum;							//静态链表的当前长度
}SLList;								//静态链表类型

typedef int ArrType[RADIX];				//指针数组类型

⌨️ 快捷键说明

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