0
点赞
收藏
分享

微信扫一扫

存bean和取bean

上古神龙 2023-05-16 阅读 87

栈的概念

栈也是线性表的一种,但是栈只允许在固定的一端进行插入与删除数据,而进行插入与删除的一端同意称为栈顶,而另一端就称为栈底。简称:后进先出

压栈(push):将数据插入栈顶。

出栈(pop):将栈顶的数据删除。

栈的实现

 栈的存储与删除数据的形式是:后进先出。所以这就很符合顺序表的实现模式,可以快速的找到最后一个元素。如果用单链表的话就需要遍历显得比较复杂,但是将单链表的栈顶与栈底换一下也显得比较容易了。

需要实现的函数

队列

队列的概念

队列同样也是线性表的一种,队列就像食堂打饭一样,前面的打好饭先走,新来的同学站在后面排队。即:只允许在一端进行插入数据,而另一端进行删除数据。

入队列:进行插入操作的一端称为队尾

出队列:进行删除操作的一端称为队头

队列的实现 

队列是在对头删除数据,队尾插入数据,如果再用线性表来实现的话就会发生挪动数据的现象,效率会降低,所以我们选择更简便的方法,单链表实现队列。但是既然是尾入头删的模式,所以我们为了避免每次插入数据是找尾,所以我们每次插入数据的时候都记录上尾的位置就显得更容易了。

实现前的基本操作

typedef struct QueueNode//每个节点所具备的结构(多个节点)
{
	int val;
	struct Node* next;
}QNode;

typedef struct Queue//(只有一个)可以避免使用二级指针
{
	QNode* head;//记录节点头
	QNode* tail;//记录节点尾
	int size;//记录节点个数
}Que;

函数的实现


举报

相关推荐

0 条评论