端口映射 Nmap JavaWeb 阿里云 gitee Jetbains全家桶 algorithm jwt Ractivejs bootstrap侧边栏 软件测试实战项目 nginx默认端口号 pythonsocket编程 python获取时间戳 java获取当前月份 javastring类型 java常用数据结构 java列表 linuxtar命令 linux系统命令大全 java项目下载 linux格式化命令 din字体 fireworks8序列号 maya2016教程 tar解压 微信砍价活动怎么做 ip地址转换器 手机电脑模拟器 xflow 画图怎么添加文字 不屑表情包 go程序设计语言 正当防卫4存档 fireworks 软碟通u盘装系统教程 python字符串 手机电池容量怎么看 深度学习pdf 数据库密码忘了怎么办
当前位置: 首页 > 学习教程  > 编程语言

文档

2020/10/8 18:14:38 文章标签:

算法与数据结构实验题 3.9 文档 题解 撤销&#xff1a;撤销最近的一次的恢复和输入 恢复&#xff1a;恢复最近一次的撤销 但输入之前的撤销不可以 输入 建立栈word 输入和恢复//用数组建立的原因是要输出 建立栈del被撤销的输入在这里 #include<bits/stdc.h> using nam…

算法与数据结构实验题 3.9 文档

题解
撤销:撤销最近的一次的恢复和输入
恢复:恢复最近一次的撤销 但输入之前的撤销不可以
输入
建立栈word 输入和恢复//用数组建立的原因是要输出
建立栈del被撤销的输入在这里

#include<bits/stdc++.h>
using namespace std;
stack<string>del;
int main()
{
	int top=-1; 
	string str;
	string word[1000];
	int n;
	cin>>n;
	while(n--)
    {
    	cin>>str;
    	if(str=="input")
    	{
    		cin>>str;
    		word[++top]=str;
    		del=stack<string>();//输入操作之前的操作不能恢复了
		}
		else if(str=="ctrl+z")//撤销
		{
			if(top==-1)
			continue;
			else
			{
				del.push(word[top--]);
			}
		 } 
		 else if(str=="ctrl+y")//恢复
		 {
		 	 if(!del.empty())
		 	 {
		 	 	 word[++top]=del.top(); 
		 	 	 del.pop();
			  }
		  } 
	 } 
	 if(top==-1)
	 {
	 	 cout<<"No output"<<endl;
	  } 
	  else
	  {
	  	for(int i=0;i<=top;i++){
          cout << word[i] << " ";
     }

	  }
 } 

本文链接: http://www.dtmao.cc/news_show_250022.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?