
C++
beashaper_
这个作者很懒,什么都没留下…
展开
-
《程序设计实习》之【多态与虚函数】
虚函数和多态多态程序实例多态的实现原理虚析构函数纯虚函数和抽象类虚函数和多态虚函数 在类的定义中,前面有 virtual 关键字的成员 函数就是虚函数。class base { virtual int get(); }; int base::get() {}virtual 关键字只用在类定义里的函数声明中,写函数体时不用。多态的表现形式一...原创 2018-06-09 23:34:04 · 596 阅读 · 0 评论 -
牛客网历年计算机考研复试上机题在线练习
成绩排序#include <iostream>#include <algorithm>#include <string>#include <cstdio>using namespace std;struct Node { string name;原创 2018-06-17 13:27:25 · 2215 阅读 · 0 评论 -
牛客网二叉树编程题
树的高度#include <iostream>#include <vector>using namespace std;int main() { int n, H = 1; int f, c, h; vector<int> nodes(1000, 0); // 有效节点的高度 nodes[0] = 1; ...原创 2018-06-17 00:10:04 · 486 阅读 · 0 评论 -
《程序设计与算法》之【深度优先搜索】
深度优先搜索例题 城堡问题(百练2815)踩方格(百练4892)Roads(百练1724)生日蛋糕(百练1190)深度优先搜索 从起点出发,走过的点要做标记,发现有没走过的点,就随意挑一个往前走,走不 了就回退,此种路径搜索策略就称为“深度优先搜索”,简称“深搜”。(1)判断从V出发是否能走到终点:bool Dfs(V) { if( V 为终点) ...原创 2018-06-02 13:47:10 · 708 阅读 · 0 评论 -
二叉树编程题总结
求二叉树的最远两个结点的距离由前序遍历和中序遍历重建二叉树判断一棵树是否是完全二叉树求二叉树两个节点的最近公共祖先将二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向求二叉树的最远两个结点的距离短短的代码中其实涉及到了三道题目:利用已知序列递归的建一棵二叉树递归的求一棵树的深度求二叉树中距离最远的两个节点的距离利用类似的思...转载 2018-06-16 16:02:15 · 1330 阅读 · 0 评论 -
《程序设计实习》之【容器适配器】
容器适配器stack容器适配器可以用某种顺序容器来实现(让已有的顺序容器以栈/队列的方式工作)1) stack: 头文件<stack> 栈 – 后进先出2) queue: 头文件<queue> 队列 – 先进先出3) priority_queue: 头文件<queue> 优先级队列 – 最高优先级元素总是第一个出列都有3个成员函数:...原创 2018-06-16 10:47:49 · 238 阅读 · 0 评论 -
《程序设计实习》之【STL-map和multimap】
预备知识:pair模板muiltmapmap预备知识:pair模板template<class _T1, class _T2>struct pair { typedef _T1 first_type; typedef _T2 second_type; _T1 first; _T2 second; pair(): first()...原创 2018-06-16 10:04:57 · 332 阅读 · 0 评论 -
《程序设计实习》之【STL-set和multiset】
关联容器multiset关联容器set, multiset, map, multimap内部元素有序排列,新元素插入的位置取决于它的值,查找速度快除了个容器都有的函数外,还支持以下成员函数 成员函数 作用 find 查找等于某个元素的值(x小于y和y小于x同时不成立即为相等) lower_bound 查找某个下界 upper...原创 2018-06-15 23:51:41 · 262 阅读 · 0 评论 -
《程序设计实习》之【STL-函数对象】
[函数对象] (#函数对象)[函数对象的应用] (#函数对象的应用)[STL中的函数对象类模板] (#STL中的函数对象类模板)函数对象 若一个类重载了运算符(),则该类的对象就成为函数对象。class CMyAverage { //函数对象类public: double operator() ( int a1, int a2, int a3 ) { ...原创 2018-06-15 19:23:37 · 278 阅读 · 0 评论 -
《程序设计实习》之【继承和派生】
继承和派生的概念继承关系和复合关系基类/派生类同名成员与protected关键字派生类的构造函数public继承的赋值兼容规则继承和派生的概念 继承:在定义一个新的类B时,如果该类与某个已有的类A相似(指的是B拥有A的全部特点), 那么就可以把A作为一个基类,而把B作为基类的一个派生类(也称子类)。派生类是通过对基类进行修改和扩充得到的。在派生类中,可以扩充新的成员...原创 2018-06-08 21:17:05 · 386 阅读 · 0 评论 -
《程序设计实习》之【模板】
函数模板类模板函数模板泛型程序设计Generic Programmin算法实现时不指定具体要操作的数据的类型泛型 —— 算法实现一遍 -&gt; 适用于多种数据结构优势:减少重复代码的编写大量编写模板,使用模板的程序设计 -函数模板类模板函数模板为了交换两个int变量的值,需要编写如下Swap函数:void Swap(int &amp; x...原创 2018-06-10 00:23:41 · 639 阅读 · 0 评论 -
C++ string类使用总结
string对象的初始化string的赋值和连接比较string子串交换stringstring的特性寻找string中的字符替换string中的字符在string中插入字符转换成C语言式char *字符串string类string类是一个模板类,它的定义如下:typedef basic_string<char> string;使用string...原创 2018-06-10 10:29:09 · 222 阅读 · 0 评论 -
《王道论坛计算机考研机试指南》第四章【数据结构】代码
一、栈的应用 括号匹配问题#include <iostream>#include <cstdio>#include <stack>using namespace std;stack<int> S;char str[110]; // 保存输入字符串char ans[110]; // 保存输出字符串int main() ...原创 2018-06-17 15:57:07 · 2055 阅读 · 0 评论 -
牛客网计算机历年考研复试上机题
约数的个数#include &lt;cstdio&gt;int main () { int n; scanf("%d", &amp;n); int x; while (n--) { scanf("%d", &amp;x); int ans = 0; for (int i = 1; i *原创 2018-06-28 20:15:43 · 1020 阅读 · 0 评论 -
北大POJ百练做题记录
1002:方便记忆的电话号码#include &lt;cstdio&gt;#include &lt;cstring&gt;#include &lt;map&gt;#include &lt;iostream&gt;using namespace std;int num[26] = {2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,原创 2018-06-28 20:14:35 · 1679 阅读 · 0 评论 -
《王道论坛考研机试指南》第三章【数论】
数位拆解进制转换最大公约数最小公倍数素数筛法分解素因数二分求幂高精度整数数位拆解特殊除法#include <cstdio>using namespace std;int main() { int a, b; // 保存两个整数的变量 while (scanf("%d%d", &a, &b) != EOF) { ...原创 2018-06-27 23:13:51 · 719 阅读 · 0 评论 -
《王道论坛计算机考研机试指南》第二章【经典入门】
排序日期类问题Hash应用排序#include <iostream>#include <algorithm>using namespace std;bool cmp(int x, int y) { // 定义排序规则 return x > y;}int main() { int n; int buf[100]; ...原创 2018-06-20 15:19:12 · 4635 阅读 · 0 评论 -
《王道论坛计算机考研机试指南》第七章【动态规划】
递推求解最长递增子序列(LIS)最长公共子序列动态规划问题分析举例背包 0-1背包完全背包多重背包一、递推求解N阶楼梯上楼问题#include<cstdio>using namespace std;int F[91];int main() { F[1] = 1; F[2] = 2; for (int i = 3; i <...原创 2018-06-26 00:21:23 · 678 阅读 · 0 评论 -
北大POJ题目练习
图论Stockbroker Grapevine#include <iostream>#include <cstdio>using namespace std;int ans[101][101];int wtime[101][101];int main() { int n; while (scanf("%d", &n) != EOF ...原创 2018-06-18 14:51:16 · 723 阅读 · 0 评论 -
《王道论坛计算机考研机试指南》第五章【图论】
并查集最小生成树(MST) 最短路径) 并查集int findRoot(int x) { if (Tree[x] == -1) return x; else { int tmp = findRoot(Tree[x]); Tree[x] = tmp; // 将当前节点的双亲节点设置为查找返回的根节点编号 ...原创 2018-06-18 00:59:54 · 644 阅读 · 0 评论 -
《程序设计实习》之【C++标准模板库STL概述】
STL概述泛型程序设计C++语言的核心优势之一就是便于软件的重用 C++中有两个方面体现重用:面向对象的思想:继承和多态,标准类库泛型程序设计(generic programming) 的思想: 模板机制,以及标准模板库 STL泛型程序设计简单地说就是使用模板的程序设计法。将一些常用的数据结构(比如链表,数组,二叉树) 和算法(比如排序,查找)写成模板,以后则不论数据结...原创 2018-06-10 14:04:17 · 242 阅读 · 0 评论 -
C++ 输入输出
与输入输出流操作相关的类istream是用于输入的流类,cin就是该类的对象ostream是用于输出的流类, cout就是该类的对象ifstream是用于从文件读取数据的类ofstream是用于向文件写入数据的类iostream是既能用于输入,又能用于输出的类fstrem是既能从文件读取数据,又能向文件写入数据的类标准流对象输入流对象:cin 与标准输入设备相连输...原创 2018-06-10 11:22:00 · 372 阅读 · 0 评论 -
《王道论坛计算机考研机试指南》第六章【搜索】
枚举广度优先搜索(BFS)递归递归的应用 回溯法枚举图的遍历深度优先搜索(DFS)一、枚举百鸡问题#include <iostream>#include <cstdio>using namespace std;int main() { int n; while (scanf("%d", &n) != EOF) { ...原创 2018-06-25 01:44:27 · 463 阅读 · 0 评论 -
《程序设计实习》之【运算符重载】
运算符重载的基本概念赋值运算符的重载运算符重载为友元函数实例-长度可变的整形数组类流插入运算符和流提取运算符的重载自增/自减运算符的重载运算符重载的基本概念运算符C++预定义表示数据的运算:+, -, *, /, %, ^, &, ~, !, |, =, <<, >>, != ……只能用于基本的数据类型 整型, 实型, 字符...原创 2018-06-08 19:52:35 · 641 阅读 · 0 评论 -
《程序设计实习》之【STL-list和deque】
list容器deque容器list容器双向链表#include<list>在任何位置插入/删除都是常数时间不支持根据下标随机存取元素具有所有书序容器都有的成员函数还支持8个成员函数 成员函数 作用 push_front 在链表最前面插入 pop_font 删除链表最前面的元素 sort ...原创 2018-06-15 14:34:54 · 602 阅读 · 0 评论 -
HDU1034-Candy Sharing Game
#include <iostream>using namespace std;const int MAXN = 1000;bool judge(int a[], int n) { for (int i = 2; i <= n; i++) { if (a[1] != a[i]) return false; } ...原创 2018-06-03 20:34:20 · 146 阅读 · 0 评论 -
《程序设计实习》之【类和对象进阶】
复制构造函数类型转换构造函数析构函数静态成员变量和静态成员函数复制构造函数基本概念只有一个参数,即对同类对象的引用。形如X::X( X&amp;amp; )或X::X(const X &amp;amp;), 二者选一,后者能以常量对象作为参数。如果没有定义复制构造函数,那么编译器生成默认复制构造函数,默认的复制构造函数完成复制功能。class Complex {priv...原创 2018-06-03 14:43:15 · 443 阅读 · 0 评论 -
《程序设计实习》之【类和对象初探】
面向对象的程序设计方法从客观事物抽象出来的例子类成员的可访问范围内联成员函数和重载成员函数构造函数面向对象的程序设计方法 类的定义class 类名{ 访问范围说明符: 成员变量1 成员变量2 … 成员函数声明1 成员函数声明2 访问范围说明符: ...原创 2018-06-03 13:17:06 · 295 阅读 · 0 评论 -
《程序设计实习》之【从C走进C++】
函数指针命令行参数位运算引用const动态内存分配内联函数和重载函数函数缺省函数函数指针基本概念 程序运行期间,每个函数都会占用一 段连续的内存空间。而函数名就是该函数所 占内存区域的起始地址(也称“入口地址”)。 我们可以将函数的入口地址赋给一个指针变 量,使该指针变量指向该函数。然后通过指 针变量就可以调用这个函数。这种指向函数 的指针变量称为“函数指针”。 ...原创 2018-06-03 11:40:30 · 595 阅读 · 0 评论 -
清华考研复试机试题
代理服务器 *代理服务器题目描述 使用代理服务器能够在一定程度上隐藏客户端信息,从而保护用户在互联网上的隐私。我们知道n个代理服务器的IP地址,现在要用它们去访问m个服务器。这 m 个服务器的 IP 地址和访问顺序也已经给出。系统在同一时刻只能使用一个代理服务器,并要求不能用代理服务器去访问和它 IP地址相同的服务器(不然客户端信息很有可能就会被泄露)。在这样的条件下,找到...原创 2018-06-03 10:26:30 · 988 阅读 · 0 评论 -
LeetCode 63. 不同路径 II
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步,机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物,那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1: 输入: [ [0,...原创 2018-05-26 22:53:51 · 498 阅读 · 1 评论 -
《程序设计与算法》之【贪心算法】
圣诞老人的礼物(百练4110)电影节(百练4151)Stall Reservations(百练3190)Radar Installation(百练1328)圣诞老人的礼物(百练4110)题目描述 圣诞节来临了,圣诞老人准备分发糖果,现 在有多箱不同的糖果,每箱糖果有自己的价值和重 量,每箱糖果都可以拆分成任意散装组合带走。圣 诞老人的驯鹿雪橇最多只能装下重量W的糖果,请 问圣诞...原创 2018-06-02 23:59:19 · 2677 阅读 · 0 评论 -
LeetCode 112.路径总和
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 ...原创 2018-05-26 21:59:49 · 1823 阅读 · 0 评论 -
《程序设计与算法》之【广度优先搜索】
广度优先搜索例题抓住那头牛(百练4001)迷宫问题(百练4127)鸣人和佐助(百练6044)八数码问题(百练1077)广度优先搜索广度优先搜索算法如下:(用QUEUE)(1) 把初始节点S0放入Open表中; (2) 如果Open表为空,则问题无解,失败退出; (3) 把Open表的第一个节点取出放入 Closed表,并记该节点为n; (4) 考察节点n是否为目标节...原创 2018-06-02 16:59:33 · 486 阅读 · 0 评论 -
《算法竞赛入门经典》第6章数据结构基础书上例题(一)
再谈栈和队列铁轨(Rails, ACM/ICPC CERC 1997, UVa 514)题目描述 某城市有一个火车站。有n节车厢从A 方向驶入车站,按进站顺序编号为1~n。你的任务是判断是否能让它们按照某种特定的顺序进入B方向的铁轨并驶出车站。例如,出栈顺序(5,4,3,2,1)是可能的,但(5,4,1,2,3)是不可能的。 #include <cstdio>#inc...原创 2018-05-26 13:23:58 · 461 阅读 · 1 评论 -
LeetCode 3.无重复字符的最长子串
给定一个字符串,找出不含有重复字符的最长子串的长度。 示例: 给定 abcabcbb ,没有重复字符的最长子串是 abc ,那么长度就是3。 给定 bbbbb,最长的子串就是 b ,长度是1。 给定 pwwkew ,最长子串是 wke ,长度是3。 请注意答案必须是一个子串,pwke 是 子序列 而不是子串。class Solution {public: int lengt...原创 2018-05-28 19:40:07 · 124 阅读 · 0 评论 -
LeetCode 315. 计算右侧小于当前元素的个数
给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于nums[i] 的元素的数量。 示例: 输入: [5,2,6,1] 输出: [2,1,1,0] 解释: 5的右侧有 2 个更小的元素 (2 和 1). 2的右侧仅有 1 个更小的元素 (1). 6的右侧有...原创 2018-05-28 20:07:53 · 1115 阅读 · 0 评论 -
LeetCode 409. 最长回文串
给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例: 输入: abccccdd 输出: 7 解释: 我们可以构造的最长的回文串是dccaccd, 它的长度是 7。本以为把有偶数个数的字母总和...原创 2018-05-28 20:46:12 · 493 阅读 · 0 评论 -
《程序设计实习》之【STL-vector】
vector的成员函数二维动态数组vector可边长的动态数组必须包含头文件#include<vector支持随机访问迭代器 根据下标随机访问某个元素时间为常数在尾部添加速度很快在中间插入慢所有STL算法都能对vector操作vector的成员函数构造函数 成员函数 作用 vector(); 无参构造函数,将容器初始化成...原创 2018-06-15 13:52:57 · 327 阅读 · 0 评论 -
《程序设计与算法》之【动态规划】
例题 数字三角形动规解题的一般思路能用动规解决的问题的特点例题 最长上升子序列最长公共子序列数字三角形(POJ1163)题目描述 在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或右下走。只需要求出这个最大和即可,不必给出具体路径。 三角形的行数大于1小于等于100,数字为 0 - 99输入格式:5 ...原创 2018-05-31 18:05:23 · 527 阅读 · 0 评论