如何用线性表存储各种数据结构?

1.单个线性表+位置指针:

//栈
int stack[LEN],top=-1;
//入栈  
stack[++top]=x;
//出栈  
x=stack[top--];//队列int queue[LEN],front=0,last=0;//入队queue[last++]=x;front=(front+1)%n//出队x=queue[front++];last=(last+1)%n

2.多个线性表

//二叉树
//分别是值列表,左右子树列表
int val[LEN],left[LEN],RIGTH[LEN];

//无序有根树
//通常以编号0为根
int val[LEN],son[LEN],bro[LEN];

//图的表示
struct Edge{
     int val;  //val
     int to;  //son
     int next; //bro
}edge[LEN];

int node[N];