常用数据存储结构的定义(C语言)

//存储的数据类型默认为整数型 


//线性表:顺序存储
typedef struct
{
	int elem[MAXSIZE];//存储数据的一维数组 
	int last;//最后一个元素的下标 
 } SeqList; 


//线性表:链式存储 
typedef struct node
{
	int data;
	struct node *next;
}LNode,*LinkList;


//栈:顺序栈
typedef struct
{
	int elem[];//存放栈中元素的一维数组 
	int top;//存放栈顶元素的下标 
} SeqStack; 


//栈:链栈
typedef struct node
{
	int data;
	struct node *next;
 } LinkStackNode;
 typedef LinkStackNode *LinkStack;
 
 
 //队列:链队列
 typedef struct Node
 {
 	int data;//数据域
	 struct Node *next;//指针域 
  } LinkQueueNode;
  typedef struct
  {
  	LinkQueueNode *front;
  	LinkQueueNode *rear;
  }LinkQueue;
 
 
 //队列:循环队列
 typedef struct
 {
 	int element[MAXSIZE];//队列的元素空间
	 int front; //头指针指示器 
	 int rear;  //为指针指示器 
  }SeqQueue; 
 
 
 //串:定长顺序串 
 typedef struct
 {
 	char ch[MAXLEN];//存储字符的一维数组 
 	int len;//字符串长度 
  } SString;
   
   
   
 //串:堆串1
  typedef struct
  {
  	int len;//串长度 
  	int start;//起始字符的位置 
  }HeapString;
 //串:堆串2
 typedef struct
 {
 	char *ch;//串的起始地址
	 int len;//串的长度 
  } HString;
  
  
  
 //串:区块串
 typedef struct Block
 {
 	char ch[BLOCK_SIZE];
 	struct Block *next;
 } Block; 
 typedef struct {
	Block *head;
	Block *tail; 	
 }BLString;
 
 
 
 //稀疏矩阵
 typedef struct 
 {
 	int row,col;//该非零元素的行下标和列下标 
 	int e; //非零元素值 
 }Triple;
typedef struct 
{
	Triple data[MAXSIZE+1];//非零元素的三元组表,data[0]表示未用;
	int m,n,len;//矩阵的行数,列数和非零元素的个数; 
 } TSMatrix; 
 
 
 //二叉树
 typedef struct Node
 {
 	int data;
 	struct Node *LChild;
 	struct Node *RChild;
  } BitNode,*BiTree;
 
 
  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值