数据结构:栈、队列、排序以及算法复杂度
发布时间
阅读量:
阅读量
一、栈和队列
栈和队列都是对结点操作位置有要求的特殊线性表
栈(先进后出)----->子弹入膛
队列(先进先出)----->食堂排队
二、栈(数据结构)
1.概念
线性表的插入(压栈)和删除(出栈)都只能在同一个端点进行,不能在其他位置,这样的结构称之为栈
2.分类
顺序栈、链式栈(带头结点的单向不循环链表)
3.特性
后进先出,一端是完全封死的,只有另外一端是用来控制和插入的,所以说,最先进来的结点肯定是最后出去的
4.链式栈(stack)
其实就是一个头插头删或者尾插尾删的链表
三、链式栈的设计和创建
1.设计:
typedef int SElemType_t;
//数据结点
struct node
{
SElemType_t data;
struct node *next;
};
//链式栈的管理结构体(头结点)
struct list_stack
{
struct node *stack;//保存首结点的地址
int size;//栈结构体中元素的个数(结点个数)
};
struct list_s
全部评论 (0)
还没有任何评论哟~
