严蔚敏上的数据结构,讲的挺好的。。
可以用数组来实现,也可以用堆来实现。
前者的话要有一个length来记录数组的长度,但实现增删有点困难。。这就是传说中的“牵一发而动全身”。呵呵。。
用堆吧。。不过,要有一个头和尾来指向最开始和最后的元素哦。记得,删得时候要释放堆哦。呵呵。。
好嘛。。我写一哈。先定义两个数据结构。
最小的单位,元素:
struct {
int i;
int *left;
int *right;
} num;
struct {
num n;
int *head;
int *tail;
void pop();
void push();
} list;
不写了哈,注意堆就是用malloc和free来分配内存的。
查哈资料可以写出来的。关键是要有思路。。
写好了,邮箱给我。发给你!设计成一个头文件了。直接调用!
好了。发了!