博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

STL

当有了c++之后就有了STL模板库,这为我们提供了许多的便利,我们完成题目时会用到许多的函数需要自己对此进行编辑,这会让我们花一部分的时间和大量的空间来进行编写,可是如果我们用了c++之中的STL模板库,可以直接调用c++为我们已经编辑好的函数了,对于我们来说十分便利( 既省时又省空间还省力气,那何乐而不为呢? )

就是因为如此,就体现出我们要学习STL模板库常用函数的重要性了。


在STL模板库中常用的函数有vector,set,string,map,queue,stack,min,max,abs,sort,memset,fill等

在这里我不在赘述具体用法,现在谈一谈STL模板库具体好在什么地方


相信大家都知道深度优先搜索(dfs)吧,当我们运用深度优先搜索的时候,我们将自己写一个栈,这可能会耗费我们大量的时间,但是我们直接调用STL模板库当中的stack(栈的函数)就将是十分简单了。

栈(LIFO):限定仅在表尾进行插入和删除操作的线性表,简单来说就是最后一个进入最早出来的数据结构

栈结构:

typedef struct SqStack
{
	int data[MAX];
	int top;	
}SqStack;
 

基本操作:

//初始化栈 
void InitStack(SqStack *s)
{
	s->top=-1;
}
 
//判断栈是否为空 
int Stackempty(SqStack *s)
{
	if(s->top==-1)
		return 0;
	else
		return 1;	
} 
 
//进栈
int push(SqStack *s,int e)
{
	if(s->top==MAX-1)
	{	
		printf("栈满\n");
		return 0;
	}
	s->data[++s->top]=e;
	return 1;		
} 
 
//出栈
int pop(SqStack *s,int *e)
{
	if(s->top==-1)
	{
		printf("栈空\n");
		return 0;
	}
	*e=s->data[s->top--];
	return 1;		
} 
 

STL模板库 我可以直接调用

stack<typename>name;

就可以了 可见STL的优越性,那接下来我们就要认真学习STL模板库中的基本函数了


That's all .

So much for today .See you next time!

posted @ 2020-06-17 11:09  5656566  阅读(135)  评论(0)    收藏  举报