您的位置:首页 > 新闻 > 资讯 > 手机开发票_荷花直播免费直播下载安装手机版_免费的网页网站_宁波seo优化费用

手机开发票_荷花直播免费直播下载安装手机版_免费的网页网站_宁波seo优化费用

2025/2/24 18:43:59 来源:https://blog.csdn.net/qq_48515185/article/details/145532591  浏览:    关键词:手机开发票_荷花直播免费直播下载安装手机版_免费的网页网站_宁波seo优化费用
手机开发票_荷花直播免费直播下载安装手机版_免费的网页网站_宁波seo优化费用

文章目录

    • `1. 静态分配的顺序表`
    • `2. 动态分配的顺序表`
    • `3. 单 链 表`
    • `4. 双 链 表`
    • `5. 静态链表`
    • `6. 顺序栈`
    • `7. 链栈`
    • `8. 顺序存储的队列`
    • `9. 链式存储的队列`
    • `10. 链式存储的二叉树`
    • `11. 线索二叉树`
    • `12. 树的双亲表示法`
    • `13. 树的孩子兄弟表示法`
    • `12. 图的邻接矩阵法`
    • `13. 图的邻接表法`
    • `1-13集合版本`

#define ELEMTYPE int

1. 静态分配的顺序表

/****************
* 静态分配的顺序表 *
*****************/
#define MAXSIZE 50			// 线性表的最大长度
typedef struct
{ELEMTYPE data[MAXSIZE]; // 顺序表的元素int length;				// 顺序表的当前长度
}SqList;					// 顺序表类型定义

2. 动态分配的顺序表

/****************
* 动态分配的顺序表 *
*****************/
#define INITSIZE 50			// 线性表的初始长度
typedef struct
{ELEMTYPE* data;			// 动态分配数组的指针int MaxSize;			// 数组的最大容量int length;				// 数组中的元素个数
}SeqList;					// 动态分配的数组顺序表定义

3. 单 链 表

/****************
*	 单 链 表		*
*****************/
typedef struct LNode		
{ELEMTYPE data;			// 数据域struct LNode* next;		// 指针域
}LNode, *LinkList;

4. 双 链 表

/****************
*	 双 链 表		*
*****************/
typedef struct DNode
{ELEMTYPE data;			// 数据域struct DNode* prior;	// 前驱指针struct DNode* next;		// 后继指针
}DNode, * DLinkList;

5. 静态链表

/****************
*	静 态 链 表	*
*****************/
typedef struct 
{ELEMTYPE data;			// 数据域int next;				// 下一个元素的数组下标
}SLinkList[MAXSIZE];

6. 顺序栈

/****************
*	 顺 序 栈		*
*****************/
typedef struct 
{ELEMTYPE data[MAXSIZE];	// 数据域int top;				// 栈顶指针
}SqStack;

7. 链栈

/****************
*	 链    栈	*
*****************/
typedef struct LinKNode
{ELEMTYPE data;			// 数据域struct LinKNode* next;	// 指针域
}LiStack;

8. 顺序存储的队列

/****************
*  顺序存储的队列	*
*****************/
typedef struct
{ELEMTYPE data[MAXSIZE];	// 数据域int front;				// 队头指针int rear;				// 队尾指针
}SqQueue;

9. 链式存储的队列

/****************
*  链式存储的队列	*
*****************/
typedef struct LinkNode		// 链式队列节点定义
{ELEMTYPE data;struct LinkNode* next;
}LinkNode;
typedef struct 
{LinkNode* front;		// 队头指针LinkNode* rear;			// 队尾指针
}LinkQueue;

10. 链式存储的二叉树

/****************
* 链式存储的二叉树 *
*****************/
typedef struct BiTNode
{ELEMTYPE data;			// 数据域struct BiTNode* lchild;	// 左孩子指针struct BiTNode* rchild;	// 右孩子指针
}BiTNode,*BiTree;

11. 线索二叉树

/****************
*	线索二叉树	*
*****************/
typedef struct ThreadTNode
{ELEMTYPE data;				// 数据域struct ThreadTNode* lchild;	// 左孩子指针struct ThreadTNode* rchild;	// 右孩子指针int ltag;					// 左线索标记int rtag;					// 右线索标记
}ThreadTNode, * ThreadTree;

12. 树的双亲表示法

/****************
*  树的双亲表示法	*
*****************/
#define MAX_TREE_SIZE 100		// 树中能存储的最大节点数
typedef struct					// 树的节点定义
{	ELEMTYPE data;				// 数据元素int parent;					// 双亲指针
}PTNode;	
typedef struct
{PTNode nodes[MAX_TREE_SIZE];// 双亲表示int n;						// 节点数
}PTree;

13. 树的孩子兄弟表示法

/****************
*树的孩子兄弟表示法*
*****************/
typedef struct CSNode
{ELEMTYPE data;struct CSNode* firstchild;	// 第一个孩子指针struct CSNode* nextsibling;	// 右兄弟指针
}CSNode, * CSTree;

12. 图的邻接矩阵法

/****************
*  图的邻接矩阵法	*
*****************/
#define MAXVERTEXNUM 100		// 顶点数目的最大值
#define VertexType char			// 顶点对应的数据类型
#define EdgeType int			// 边对应的数据类型
typedef struct
{VertexType vex[MAXVERTEXNUM];				// 顶点表EdgeType edge[MAXVERTEXNUM][MAXVERTEXNUM];	// 邻接矩阵(边表)int vexnum;					// 顶点数量int arcnum;					// 边数量
}MGraph;

13. 图的邻接表法

/****************
*   图的邻接表法	*
*****************/
typedef struct ArcNode			// 边表节点
{int adjvex;					// 该弧所指向的顶点的位置struct ArcNode* nextArc;	// 指向下一条弧的指针ELEMTYPE info;				// 该弧的权值
}ArcNode;
typedef struct VNode			// 顶点表节点
{VertexType data;			// 顶点信息ArcNode* firstArc;			// 指向第一条依附该顶点的弧的指针
}VNode,AdjList[MAXVERTEXNUM];
typedef struct
{AdjList vertices;			// 邻接表int vexnum;					// 顶点数int arcnum;					// 弧数
}ALGraph;						// 以邻接表存储的图类型

1-13集合版本

/// This is the definition of common data structure#define ELEMTYPE int/****************
* 静态分配的顺序表 *
*****************/
#define MAXSIZE 50			// 线性表的最大长度
typedef struct
{ELEMTYPE data[MAXSIZE]; // 顺序表的元素int length;				// 顺序表的当前长度
}SqList;					// 顺序表类型定义/****************
* 动态分配的顺序表 *
*****************/
#define INITSIZE 50			// 线性表的初始长度
typedef struct
{ELEMTYPE* data;			// 动态分配数组的指针int MaxSize;			// 数组的最大容量int length;				// 数组中的元素个数
}SeqList;					// 动态分配的数组顺序表定义/****************
*	 单 链 表		*
*****************/
typedef struct LNode		
{ELEMTYPE data;			// 数据域struct LNode* next;		// 指针域
}LNode, *LinkList;/****************
*	 双 链 表		*
*****************/
typedef struct DNode
{ELEMTYPE data;			// 数据域struct DNode* prior;	// 前驱指针struct DNode* next;		// 后继指针
}DNode, * DLinkList;/****************
*	静 态 链 表	*
*****************/
typedef struct 
{ELEMTYPE data;			// 数据域int next;				// 下一个元素的数组下标
}SLinkList[MAXSIZE];/****************
*	 顺 序 栈		*
*****************/
typedef struct 
{ELEMTYPE data[MAXSIZE];	// 数据域int top;				// 栈顶指针
}SqStack;/****************
*	 链    栈	*
*****************/
typedef struct LinKNode
{ELEMTYPE data;			// 数据域struct LinKNode* next;	// 指针域
}LiStack;/****************
*  顺序存储的队列	*
*****************/
typedef struct
{ELEMTYPE data[MAXSIZE];	// 数据域int front;				// 队头指针int rear;				// 队尾指针
}SqQueue;/****************
*  链式存储的队列	*
*****************/
typedef struct LinkNode		// 链式队列节点定义
{ELEMTYPE data;struct LinkNode* next;
}LinkNode;
typedef struct 
{LinkNode* front;		// 队头指针LinkNode* rear;			// 队尾指针
}LinkQueue;/****************
* 链式存储的二叉树 *
*****************/
typedef struct BiTNode
{ELEMTYPE data;			// 数据域struct BiTNode* lchild;	// 左孩子指针struct BiTNode* rchild;	// 右孩子指针
}BiTNode,*BiTree;/****************
*	线索二叉树	*
*****************/
typedef struct ThreadTNode
{ELEMTYPE data;				// 数据域struct ThreadTNode* lchild;	// 左孩子指针struct ThreadTNode* rchild;	// 右孩子指针int ltag;					// 左线索标记int rtag;					// 右线索标记
}ThreadTNode, * ThreadTree;/****************
*  树的双亲表示法	*
*****************/
#define MAX_TREE_SIZE 100		// 树中能存储的最大节点数
typedef struct					// 树的节点定义
{	ELEMTYPE data;				// 数据元素int parent;					// 双亲指针
}PTNode;	
typedef struct
{PTNode nodes[MAX_TREE_SIZE];// 双亲表示int n;						// 节点数
}PTree;/****************
*树的孩子兄弟表示法*
*****************/
typedef struct CSNode
{ELEMTYPE data;struct CSNode* firstchild;	// 第一个孩子指针struct CSNode* nextsibling;	// 右兄弟指针
}CSNode, * CSTree;/****************
*  图的邻接矩阵法	*
*****************/
#define MAXVERTEXNUM 100		// 顶点数目的最大值
#define VertexType char			// 顶点对应的数据类型
#define EdgeType int			// 边对应的数据类型
typedef struct
{VertexType vex[MAXVERTEXNUM];				// 顶点表EdgeType edge[MAXVERTEXNUM][MAXVERTEXNUM];	// 邻接矩阵(边表)int vexnum;					// 顶点数量int arcnum;					// 边数量
}MGraph;/****************
*   图的邻接表法	*
*****************/
typedef struct ArcNode			// 边表节点
{int adjvex;					// 该弧所指向的顶点的位置struct ArcNode* nextArc;	// 指向下一条弧的指针ELEMTYPE info;				// 该弧的权值
}ArcNode;
typedef struct VNode			// 顶点表节点
{VertexType data;			// 顶点信息ArcNode* firstArc;			// 指向第一条依附该顶点的弧的指针
}VNode,AdjList[MAXVERTEXNUM];
typedef struct
{AdjList vertices;			// 邻接表int vexnum;					// 顶点数int arcnum;					// 弧数
}ALGraph;						// 以邻接表存储的图类型

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com