首页 > 编程知识 正文

数据结构的类型定义,结构体数据类型的定义

时间:2023-05-03 05:11:01 阅读:259536 作者:2961

一.顺序表结构体定义:

typedef struct
{
    int data[maxsize];
    int length; 
}Sqlist;

二.单链表结构体定义:

typedef struct LNode
{
    int data;
    struct LNode *next;
}LNode;

三.双链表结构体定义:
typedef struct DLNode
{
    int data;
    struct DLNode *prior;
    struct DLNode *next;
}DLNode;

四.顺序栈结构体定义: 
typedef struct
{
    int data[maxsize];
    int top;
}SqStack;

五.链栈结构体定义:
typedef struct LNode
{
    int data;
    struct LNode *next;
 } LNode;

 六.顺序队结构体定义:
 typedef struct
 {
     int data[maxsize];
     int front;
     int rear;
  } SqQueue;
  
 七. 链队结构体定义:
  1)队结点类型定义
  typedef struct QNode
  {
      int data;
      struct QNode *next;
   } QNode;
  2)链队类型定义
  typedef struct
  {
      QNode *front;
      QNode *rear;
   } LianQueue;

八.二叉树结点类型的定义
typedef struct BTNode
{
    char data;
    struct BTNode *lchild;
    struct BTNode *rchild;
 } BTNode;
 
 九.树的存储结构
 1》双亲表示法
 typedef struct
 {
     int data;
     int parent;    
 }PTNode;
 typedef struct
 {
     PTNode p[maxsize];
     int n;
 }PTree;
 2》孩子表示法
 typedef struct ArcNode
 {
     int child;
     struct ArcNode *next;
  } ArcNode;
  typedef struct
  {
      int data;
      ArcNode *firstchild;
  }VNode;
  typedef struct 
  {
      VNode v[maxsize];
      int n;
  }CTree;
  3》mhdfn表示法
  typedef struct CBNode
  {
      int data;
      struct CBNode *firstchild;
      struct CBNode *nextbrother;
   } CBNode;

十.邻接矩阵的结构体类型定义
typedef struct
{
    int no;//顶点编号
    char info;//顶点其他信息 
 } VertexType;
 typedef struct
 {
     int edge[maxsize][maxsize];//边的权值
    int n;//顶点个数
    int e;//边数
    VextexType vex[maxsize]; 
 }MGraph;


 十一.邻接表的结构体定义
 typedef struct ArcNode
 {//边、弧
    int  adjvex;//该边所指向的结点的编号
    struct ArcNode *next;//下一条边的指针
    int info;//边的信息 
  } ArcNode;
  typedef struct 
  {//顶点
     char data;//顶点信息
     ArcNode *first;//指向第一条边的指针 
   } VNode;
   typedef struct
   {//用邻接表存储的图
     VNode adjlist[maxsize];//邻接表 
     int n;//顶点数
     int e;//边数 
    } AGraph; 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。