如何用线性表存储各种数据结构?
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];