首页 > 其他 > 详细

栈和队列

时间:2018-10-02 23:13:48      阅读:165      评论:0      收藏:0      [点我收藏+]

栈和队列是特殊的线性表

栈是插入和删除都在栈尾的线性表

分为两种实在形式一种是顺序方式另一种是链表方式

顺序方式时用 top表示

typedef int datatype;

typedef struct{

  datatype data[MAXSIZE];

  int top;

}sqtack;

根据数据结构的不同,实在方法也不同

顺序方式下

push操作是 top为空时是 -1 增加的情况top + 1,pop则相反

链式方式下

typedef struct stackNode

{

  datatype data;

  struct stackNode *next;

}stackNode,*linkStackPtr;

 

typedef struct linkstack

{

  linkStackPtr top;

  int count;

}linkStack;

 

push的时候是头插法

malloc出新结点后,s->data = e;

s->next = top->next;

top = s;

count++;

pop的时候

top = top->next;

free(top);

count--;

 

栈和队列

原文:https://www.cnblogs.com/ninjakim/p/9738662.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!