栈(stack)在计算机科学中是限定仅在表尾进行插入或删除 *** 作的线性表。栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始d出数据。栈是只能在某一端插入和删除的特殊线性表。用桶堆积物品,先堆进来的压在底下,随后一件一件往堆。取走时,只能从上面一件一件取。读和取都在顶部进行,底部一般是不动的。栈就是一种类似桶堆积物品的数据结构,进行删除和插入的一端称栈顶,另一端称栈底。插入一般称为进栈,删除则称为退栈。 栈也称为后进先出表。
1、C语言标准库当中没有与stack栈相关的标准类。
2、可以自定义这个头文件,例如:
struct Stack{
int mData[100]
int mLen
}
//初始化栈
void InitStack(Stack &S)
{
S.mLen = 0
}
//元素进栈
void Push(Stack &S,int item)
{
S.mData[S.mLen++] = item
}
//删除栈顶元素
int Pop(Stack &S)
{
S.mLen--
return S.mData[S.mLen]
}
//返回栈顶元素
int Peek(Stack &S)
{
return S.mData[S.mLen-1]
}
//判断栈是否为空
bool EmptyStack(Stack &S)
{
if(S.mLen == 0) return true
return false
}
//清空栈
void Clear(Stack &S)
{
for(int i = 0i<S.mLen++i)
{
Pop(S)
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)