基本的数据结构的结构体

以下这些必须全部记住!!!

//基础数据结构
//顺序表
typedef struct seqlist{
	int n;     //顺序表长度 
	int maxLength;   //顺序表的最大允许长度 
	int *element;    
}SeqlList; 

//单链表
typedef struct node{
	int element;  //数据域
	struct node *link;  //指针域 
}Node;   //单链表结点的定义 
typedef struct singlelist{
	int n;   //单链表中元素个数
	Node *first;  //头指针 
}SingleList;   //单链表的定义

//稀疏矩阵
typedef struct term{  //三元组表 
	int row;  //行下标 
	int col;   //列下标 
	int value;  //非零元素的值 
}Term;  
typedef struct sparsematrix{
	int m;   //行数量 
	int n;   //列数量 
	Term *table;  //非零元素数量 
}SparseMatrix; 

//二叉树
typedef struct btnode{   //结点的定义 
	int element;
	struct btnode *lChild;
	struct btnode *rChild;
}BtNode;
typedef struct binarytree{     //二叉树的定义 
	struct BtNode *root;   //根节点 
}BinaryTree;

//基于孩子兄弟的树形结构
typedef struct tnode{
	int element;
	struct tnode *leftChild;
	struct tnode *rightSibiling;
}TNode; 
typedef struct tree{
	TNode *root;
}Tree;

//基于双亲表示法的树形结构
typedef struct tnode{
	int element;
	int parent_pos;
}TNode;
typedef struct tree{
	int n;
	int maxSize;
	TNode *a;  //结点数组 
}Tree; 

//二叉搜索树
typedef struct bstnode{
	int element;
	struct bstnode *lChild;
	struct bstnode *rChild;
}BSTNode; 
typedef struct bstree{
	BSTNode *root;
}BSTree;

//散列表
typedef struct node{
	int data;
	struct node *next;
}Node; 
typedef struct ht{
	int M;  //散列表长度
	Node **table; 
}HT;

//图
//邻接矩阵
typedef struct mgraph{
	int n;  //结点数量
	int e; //边数量 
	int **a;  //二维数组 
}MGraph;

//邻接表
typedef struct enode{
	int adjVex;  //与任意顶点相邻接的顶点
	struct enode *nextArc;  //指向下一个边结点 
}ENode; 
typedef struct lgraph{
	int n;
	int e;
	int **a;  //一维数组指针 
}LGraph; 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值