C++算法和类
犇犇~
这个作者很懒,什么都没留下…
展开
-
快速排序
#include <iostream>#include <cstdlib>#include <ctime>using namespace std;void sort(int array[], int left, int right) { int i = left, j = right; int temp, pivot; pivot = arra...原创 2018-08-23 16:29:54 · 81 阅读 · 0 评论 -
字符串入栈出栈
设字符串source,依次进入一个初始为空的栈,在入栈的过程中可以出栈,得到一个出栈字符串dest。设计程序,给出所有可能的入栈出栈的过程。假设入栈用i表示,出栈用o表示。 如: source为:balama dest为:balama 则输出为: i o i i i o o i i o o o i o i i i o o o i o i o i o i o i o i i i o o o ...原创 2018-09-29 09:25:04 · 8213 阅读 · 0 评论 -
小猫钓鱼
main.cpp#include <iostream>#include <cstdlib>#include "implementation.cpp"using namespace std;class Fishing{public: void initialize(); void start();private: void input(Queue&...原创 2018-09-27 10:52:37 · 922 阅读 · 0 评论 -
分数的四则运算(类)
#include <iostream>#include <cstdlib>using namespace std;class Fraction{public: Fraction() { denominator = 1; numerator = 0; } Fraction(int numerator,...原创 2018-09-14 17:43:45 · 742 阅读 · 0 评论 -
生命游戏
细胞自动机(又称元胞自动机),名字虽然很深奥,但是它的行为却是非常美妙的。所有这些怎样实现的呢?我们可以把计算机中的宇宙想象成是一堆方格子构成的封闭空间,尺寸为N的空间就有N*N个格子。而每一个格子都可以看成是一个生命体,每个生命都有生和死两种状态,如果该格子生就显示蓝色,死则显示白色。每一个格子旁边都有邻居格子存在,如果我们把3*3的9个格子构成的正方形看成一个基本单位的话,那么这个正方形中心的...原创 2018-09-13 11:38:27 · 223 阅读 · 0 评论 -
八皇后(递归)
#include <iostream>using namespace std;class EightQueens{public: EightQueens() { count = 0; for (int i = 0; i < 8; i++) for (int j = 0; j < 8; j++)...原创 2018-09-08 23:02:56 · 146 阅读 · 0 评论 -
全排列(递归)
#include <iostream>using namespace std;const int NUM = 4;void _swap(int &x, int &y){ int temp = x; x = y; y = temp;}void perm(int start, int length, int *a){ if (...原创 2018-09-08 17:36:15 · 157 阅读 · 0 评论 -
汉诺塔
#include <iostream>using namespace std;void move(int n, char x, char y, char z){ if (n < 1) { cout << "输入有误!" << endl; return; } else if (n == ...原创 2018-09-08 16:46:00 · 114 阅读 · 0 评论 -
栈(类)
#include <iostream>using namespace std;template <class Type>struct Node{ Type value; Node *next;};template <class Type>class Stack{public: Stack(); ~Stack(); void push...原创 2018-08-29 11:10:48 · 188 阅读 · 0 评论 -
队列(类)
#include <iostream>using namespace std;template <class Type>struct Node{ Type value; Node *next;};template <class Type>class Queue{public: Queue() { ...原创 2018-09-07 22:10:11 · 297 阅读 · 0 评论 -
Python List列表
#include <iostream>#include <string>#include <cstdlib>#include <ctime>using namespace std;class List{public: List(bool temp = false); List(const List &rhs);...原创 2018-08-24 10:56:55 · 176 阅读 · 0 评论 -
链表 类
#include <iostream>#include <ctime>using namespace std;const int ERR_DEL = 0; //没有可删除的元素const int ERR_UNDEFINED = 1; //当前位置不存在 const int ERR_OVERSTEP = 2; //下标越界 struct Value{...原创 2018-08-25 23:09:10 · 696 阅读 · 0 评论 -
魔术师翻牌(循环链表)
魔术师翻牌:魔术师把扑克中的13张黑桃预先排好后,牌面朝下放在手中。第一次数一张牌,翻过来恰好是A,放在桌面上,第二次数两张牌,数1的那张放在手中牌的下面,数2的那张牌翻过来恰好是2,也放在桌面上,再数三张牌,顺次把数1、2的牌放在手中牌的下面,第三张牌翻过来恰好是3,仍然放在桌面上。这样继续做下去,直到手中的13张牌全部翻完为止,此时桌面上的牌的顺序恰好是:A,2,3,4,5,……,J,Q,K。...原创 2018-08-28 22:31:51 · 1736 阅读 · 0 评论 -
约瑟夫问题(循环链表)
据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。一开始要站在什么地方才能避免被处决?...原创 2018-08-28 20:09:46 · 202 阅读 · 0 评论 -
中缀表达式计算器
#include <iostream>#include <stack>#include <vector>#include <cstdlib>using namespace std;enum Operator {ERROR, NUM, PLUS, MINUS, DIV, MULTIPLY, SHOW, lBracket, rBracket...原创 2018-09-29 09:28:00 · 473 阅读 · 0 评论