静态链表就是利用数组来模拟一个链表存储,所以需要一个游标来指示下一个元素存储在数组哪儿(即指示了下一个元素的下标)。
下面的程序就是利用一个静态链表来存储了一个二叉树(二叉树的结构如图所示):
具体代码如下:
#include <iostream>
using namespace std;
typedef struct
{
char data;
int left;
int right;
} static_node;
void pre_order_traverse(static_node* binary_tree, int index)
{
if (index == -1)
{
return;
}
cout << binary_tree[index].data << " ";
pre_order_traverse(binary_tree, binary_tree[index].left);
pre_order_traverse(binary_tree, binary_tree[index].right);
}
int main()
{
static_node binary_tree[7];
binary_tree[0].data = 'a';
binary_tree[0].left = 1;
binary_tree[0].right =