摘要:
/** * 两个栈实现一个队列 * 栈IN用做入列,栈OUT用做出列 * push: * 栈IN执行push操作 * pop: * 如果栈OUT不为空,执行pop操作 * 如果栈OUT为空,将栈IN所有元素依次pop并push到栈OUT。 */ #include <stack>#include <iostream>using namespace std;template<t... 阅读全文
摘要:
约瑟夫环问题可以简单的使用数组的方式实现,但是现在我使用循环链表的方法来实现,因为上午看到一道面试题规定使用循环链表解决约瑟夫环问题。 什么是约瑟夫环? “约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。”(百度百科中的解决办法列出了很多,可以看到循环链表并不是最简单的方法) 这道面试题考察了循环链表的“创建”,“遍历”和“删除”。创建的循环链表的结构图:解决约瑟夫环问题的过程C++实现代码如下:循环... 阅读全文