码迷,mamicode.com
首页 > 其他好文 > 详细

可持续化栈

时间:2017-09-17 15:14:05      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:ack   while   int   highlight   names   cin   next   space   clu   

#include <bits/stdc++.h>
using namespace std;
struct Stack{
	int n,next;
}s[10000];
vector<int> sav;
int size=0,top=0;
void push(int a){
	size++;
	s[size].n=a;
	s[size].next=top;
	top=size;
}
void pop(){
	top=s[top].next;
}
void out(){
	for(int i=top;i;i=s[i].next)
		cout<<s[i].n<<‘ ‘;
	puts("");
}
void open(int a){
	top=sav[a];
}
void save(){
	sav.push_back(top);
}
int main(){
	while(1){
		int a;
		cin>>a;
		if(a==1){
			int b;
			cin>>b;
			push(b);
		}
		if(a==2)
			pop();
		if(a==3)
			out();
		if(a==4){
			int b;
			cin>>b;
			open(b);
		}
		if(a==5)
			save();
	}
	return 0;
}

  

可持续化栈

标签:ack   while   int   highlight   names   cin   next   space   clu   

原文地址:http://www.cnblogs.com/HC-LittleJian/p/7535201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!