《数据结构打卡》第7天

《数据结构打卡》第7天

栈和队列的特点:
从栈和队列的定义考虑出发
栈的定义:限定仅在表尾进行插入和删除操作的线性表
队列的定义:只允许在一端进行删除操作,在另外一端进行插入操作的线性表
综合得出:栈和队列只允许在端点进行操作运算,是操作受限的线性表
0、循环队列
循环队列中,设front为队头指针,rear为队尾指针,存储空间大小为m;

  • 则队列满的条件是(rear+1)%m == front;
  • 队列空的条件是front == rear;
  • 队头元素出队列,front = (front+1)%m ;
  • 元素从队尾入队列,rear = (rear+1)%m;

顺序栈和链式栈的表示和实现:
链式栈的初始化:S=NULL;
判断链式栈是否为空:if(S==NULL) return true;else return false;
链式栈的入栈:
Void Push(LinkStackTp *S,DataType e)
{ p = new LinkStack;
p->data=e
p->next=S;
s = p
}

1.1顺序栈基本操作
顺序栈的入栈
顺序栈的出栈
1.2链式栈基本操作

链式栈的入栈
链式栈的出栈

链式队列的入队:
p = QNode;
p->data=x;
p->next=Null;
r->next=p;
r=p;

发布了20 篇原创文章 · 获赞 0 · 访问量 447

猜你喜欢

转载自blog.csdn.net/qq_41240204/article/details/105474986
今日推荐