复习:怎么选
约 10 分钟
怎么选结构?记住几条对应关系就够用了:要按编号随手取,用数组;要"后进先出",用栈;要"先进先出",用队列;要频繁在中间插入删除,用链表;数据有上下层次关系,用树。先想清楚"我最常做什么操作",答案自然就出来了。
#include <iostream>
#include <stack>
using namespace std;
int main() {
// 浏览器前进后退:用两个栈
stack<string> back, forward;
back.push("首页"); back.push("新闻"); // 现在在"新闻"
forward.push(back.top()); back.pop(); // 点后退,回到首页
cout << "现在:" << back.top(); // 现在:首页
}
举个例子:浏览器的前进后退,用两个栈最合适——后退把当前页压进"前进栈",前进再倒回来。选对了结构,逻辑一下就清爽了。
小纸条
做浏览器的前进后退,用什么?
登录 后可看答案