版权声明: https://blog.csdn.net/shuiyixin/article/details/83449909
数据结构中我们经常要用到很多预定义的常量,如果每次自己输入,那就比较麻烦啦,在这里,给大家把常用的预定义常量分享出来,下次再用到,直接复制粘贴就好啦。
一、常用头文件
首先自然是常用头文件,因为作者是学C++,没有系统学习过C语言,所以一般用的是iostream,输入输出用的是cin和cout。
#include<iostream>
#include<malloc.h>//用到malloc创建结点和realloc重新分配结点时调用
#include<math.h>//用到数学公式需要该头文件
using namespace std;//如果大家对代码要求高,尽量不要使用,在这里使用是为了方便。
二、常用公共预定义常量及类型
这个是指所有的数据结构代码常用的并且通用的,没有针对性。
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define INFEASIBLE -1
typedef int ElemType;//这里的int还可以为其他的,例如double、float、char或自己定义的类型
typedef int Status;//Status是函数的类型。
三、针对性预定义常量
这块指的是针对于某个特定程序或者某类特定结构而定义的常量。主要是顺序结构中需要设置的最大长度及增幅。
#define List_INIT_SIZE 100 //线性存储空间的初始分配量
#define LISTINCREMENT 10 //线性表存储空间的分配增量
#define STACK_INIT_SIZE 100 //栈存储空间的初始分配量
#define STACKINCREMENT 10 //栈存储空间的分配增量
#define MAXQSIZE 100 //最大队列长度
#define MAXSTRLEN 255 //最大串长
#define MAX_ARRAY_DIM 8 //数组最大维数
#define MAX_TREE_SIZE 100 //二叉树最大结点数
#define MAX_VERTEX_NUM 20 //图的最大顶点数量
可能不同的公司,或者不同的人编写程序习惯不同,相应的定义也不同。例如,不同结构的数据域的预定义类型可以起不同名称:
typedef int ElemType;//普通顺序表及链表
typedef int SElemType;//栈
typedef int QElemType;//队列
typedef int TElemType;//树
typedef int GElemType;//图
如果大家有自己的使用习惯,大家也可以保存下来,以方便下次使用。