标题:实现基于链表的栈和队列


用链表实现栈(链栈)和队列(链队),也是一个基础但很重要的算法实现问题,既考查了大家对栈和队列的理解,又考查了链表的操作。因此,它经常出现在一些笔试和面试问题里。实际上还有用链表来解决hash冲突的hash表。下图是基于链表的栈和队列的结构:

 

//栈的接口

int CreateStack(node **stack);

int DeleteStack(node **stack);

int Push(node **stack, void *data);

int Pop(node **stack, void **data);

Qnode  *front;   //队头指针

Qnode  *rear;    //队尾指针

//队列接口

int CreateQue(Qnode **que);

int DeleteQue(Qnode **que);

int DeQueue(int *e);

int EnQueue(int *e);


注意:算法部分是麦洛科菲基础部分重点培训的内容,每一个点都可能成为麦洛科菲考试,作业的组成部分。所以,我们不提供具体的解法。如果您对某个点有疑问,请随时联系我们。



看文字不过瘾?点击我,进入周哥教IT视频教学
麦洛科菲长期致力于IT安全技术的推广与普及,我们更专业!我们的学员已经广泛就职于BAT360等各大IT互联网公司。详情请参考我们的 业界反馈 《周哥教IT.C语言深学活用》视频

我们的微信公众号,敬请关注