数据结构-存储结构
數據結構-存儲結構
1.? 圖的存儲結構:
a)????????鄰接矩陣:
#define MaxVertexNum 100 typedef char VertexType; typedef int EdgeType; typedef struct MGragh{VertexType Vex[MaxVertexNum];EdgeType Edge[MaxVertexNum][MaxVertexNum];int vexnum,arcnum; }MGragh;a)????????鄰接表法:
#define MaxVertexNum 100 typedef struct ArcNode{ //邊表節(jié)點int adjvex;struct ArcNode *next; }ArcNode; typedef struct VNode{ //頂點表節(jié)點VertexType data;ArcNode *first; }VNode,AdjList[MaxVertexNum]; typedef struct AMLGraph{ //鄰接表AdjList vertices;int vexnum,arcnum; }AMLGraph;
2.二叉樹鏈式存儲結構:
typdef int ElemType; typedef struct BiTNode{ElemType data;struct BitNode *lchild,*rchild; }BiTNode,*BiTree;3.順序棧的存儲結構:
#define MaxSize 50 typedef int Elemtype; typedef struct{Elemtype data[MaxSize];int top; }SqStack;4.棧的鏈式存儲:
typedef struct ThredNode{ElemType data;struct ThreadNode *lchild,*rchild;int ltag,rtag; //0表示指孩子,1表指前驅或后繼 }ThreadNode,*ThreadTreetypedef int ElemType; typedef struct{ElemType data;struct LinkNode *next; }LinkNode,*LiStack;
5.單鏈表的存儲結構:
typedef int ElemType; typedef struct LNode{ElemType data;struct LNode *next; }LNode,*LinkList;
線索二叉樹的存儲結構
typedef struct ThredNode{ElemType data;struct ThreadNode *lchild,*rchild;int ltag,rtag; //0表示指孩子,1表指前驅或后繼 }ThreadNode,*ThreadTree
總結
- 上一篇: 3.2栈的应用举例
- 下一篇: 服务器型号惠普RX3600,384854