7.27复习
2025-07-27 20:58:58
发布于:浙江
栈
栈(stack):又名堆栈,是限定仅在表位进行插入或删除操作的线性结构,特点为先进后出(FILO)。Frist In Last Out
加入元素:入栈、进栈、压栈
删除元素:出栈、退栈
最上面的元素:表尾、栈顶->栈顶元素。
最下面的元素:栈底->栈底元素
栈的模型:
数组栈操作
数组入栈操作:
void push(int x){
top++;
stk[top]=x;
}
数组出栈操作:
void pop (int x){
top--;
}
数组判断空栈:
bool empty{
return top==0;
}
数组判断栈大小:
int size(){
return top;
}
STL栈操作
STL stack | |
---|---|
声明定义 | stack<int/string/char>stk |
入栈 | stk.push(入栈数据) |
出栈 | stk.pop() |
查看栈顶元素 | stk.top() |
栈大小 | stk.size() |
栈不为空 | !stk.empty() |
清空栈 | clear() |
示例代码:
int main(){
stack<int>stk;//定义一个栈,名字stk
for(int i=1;i<=5;i++){
stk.push(i);//入栈
}cout<<stk.top()<<endl;
stk.pop();//栈顶元素出栈
cout<<stk.size();
while(/*stk.size()>0*/!stk.empty()){//栈顶元素不为0
cout<<stk.top()<<" ";
stk.pop();
}
}
队列:
STL队列操作:先进先出
STL queue | |
---|---|
声明定义 | queue<int/string/char>q |
入队 | q.push(入队数据) |
出队 | q.pop() |
查看队首元素 | q.front() |
查看队尾元素 | q.back() |
栈大小 | q.size() |
栈不为空 | !q.empty() |
示例代码:
int main(){
queue<int>q;
for(int i=1;i<=5;i++){
q.push(i);//插入i
}
cout<<q.front()<<endl;//队首元素
cout<<q.back()<<endl;//队尾元素
q.pop();//出队
while(!q.empty()){
cout<<q.front()<<" ";
q.pop();//删除元素
}
}
递归:自己调用自己
无返回值示例:
void f(){
if(递归边界)return;
f();
}
返回值示例
int f(){
if(递归边界)return 边界数;
return f();
}
这里空空如也
有帮助,赞一个