C++
文章平均质量分 55
wyl1813240346
这个作者很懒,什么都没留下…
展开
-
VS快捷键
该内容转载与该博客快捷键: 生成解决方案 F6,生成项目Shift+F6调试执行F5,终止调试执行Shift+F5执行调试Ctrl+F5查找下一个F3,查找上一个Shift+F3附加到进程Ctrl+Alt+P,逐过程F10,逐语句执行F11切换断点F9(添加或取消断点)运行至光标处Ctrl+F10跳出当前方法Shift+F11新建解决方案:Ctrl+Shift...转载 2018-04-22 13:00:13 · 199 阅读 · 0 评论 -
C++ 分别利用数组和string对象实现从长字符串中计算短字符串出现的次数
问题描述: 对于两个字符串,一个长字符串一个短字符串,在长字符串中查找短字符串出现的次数。例如,对于长字符串str_long为”goodgooledfdsgooglessd”,短字符串str_short为”google”,则输出的结果为出现次数为2次,下标为5和14。#include<iostream>#include<string>using namespace...原创 2018-06-22 14:38:48 · 678 阅读 · 0 评论 -
sizeof对静态数组和new动态数组求长度的区别
sizeof可以用来求取数组的长度,但是只是针对静态数组而言,比如:int arr[] = {1,2,3,4,5,6,7};int result = sizeof(arr);result的结果会是7*4=28,因为静态数组中有7个元素,每个元素的类型为int型,占4个字节。 因此可以使用下面的代码求静态数组的程度:int result = sizeof(arr)/sizeo...原创 2018-07-02 10:27:27 · 6741 阅读 · 2 评论 -
今日头条2017校招笔试题
问题描述: 头条的2017校招开始了!为了这次校招,我们组织了一个规模宏大的出题团队,每个出题人都出了一些有趣的题目,而我们现在想把这些题目组合成若干场考试出来,在选题之前,我们对题目进行了盲审,并定出了每道题的难度系统。一场考试包含3道开放性题目,假设他们的难度从小到大分别为a,b,c,我们希望这3道题能满足下列条件: a<=b<=c b-a<=10 c-b<=1...原创 2018-07-16 17:25:18 · 1358 阅读 · 0 评论 -
C++ 实现线性表顺序存储结构的插入与删除
主函数:#include <iostream>typedef int eletype;const int MaxSize = 25;struct Sqlist{ eletype arr[MaxSize]; int length;};void getArr(Sqlist & sqlist);void showArr(const Sqlist...原创 2018-07-05 10:09:39 · 4426 阅读 · 0 评论 -
C++实现线性表链式存储结构的创建插入和删除
主函数为:#include <iostream>using namespace std;typedef int eletype;struct Node{ eletype data; Node * next;};//typedef struct Node *LinkList;void createLinkList(Node * L, int n);...原创 2018-07-07 16:35:20 · 3862 阅读 · 0 评论 -
C++二维数组创建以及行列的求法
1.普通方法创建二维数组: 二维数组的声明: 对于一维数组来说,数组的大小可以省略,但对于二维数组,C++规定,在声明和初始化二维数组时,只有第一维(行数)可以省略。 合法的声明有:int a[2][3];int a[][3];不合法的声明:int a[][];int a[2][];二维数组的初始化: 可以在声明时初始化:int a[2][3] = {{1,2,...原创 2018-07-29 16:07:50 · 6157 阅读 · 0 评论 -
C++实现冒泡排序的变型——定向冒泡排序(鸡尾酒排序)
鸡尾酒排序: 鸡尾酒排序,也叫定向冒泡排序,是冒泡排序的一种变型。 鸡尾酒排序的思想: 鸡尾酒排序首先从序列的左侧两两比较相邻元素的大小,若前面比后面大则交换两者顺序,否则不交换,当进行一次遍历之后,序列的最后一个元素为最大值,然后从序列的右侧出发(排除了最后一个元素)两两比较相邻元素的大小,若前面比后面大则交换两者顺序,否则不交换,当进行一次遍历之后,序列的最前面一个元素为序列的最小值,一...原创 2018-08-15 11:45:47 · 589 阅读 · 0 评论 -
C++实现简单选择排序
简单选择排序的思想: 通过n−in−in-i次关键字间的比较,从n−i+1n−i+1n-i+1个记录中选出关键字最小的记录,并和第i(1<=i<=n)i(1<=i<=n)i(1n−1n−1n-1,第二次循环需要n−2n−2n-2,第三次需要n−3n−3n-3,以此类推,总的时间复杂度为:n−1+n−2+...+2+1=n(n−1)/2n−1+n−2+...+2+1=n(n...原创 2018-08-15 23:08:12 · 1942 阅读 · 0 评论 -
C++实现冒泡排序以及优化
冒泡排序(Bubble Sort)基本思想: 两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 冒泡排序的基本流程: 1.比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。 2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素重复上...原创 2018-08-13 17:38:19 · 2688 阅读 · 0 评论 -
C++实现直接插入排序
直接插入排序算法思想: 将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录加1的有序表。 举例说明: 例如对于{5,3,4,6,2}的序列: 第一步从记录为1出发,记录为1的关键字为3,3比5(记录为1-1=0的关键字,也就是比较插入位置之前的关键字)小,所以找到3要插入的位置,也就是记录为0的位置,将要插入位置以及之后(到处理的记录为止,也就是说不需要将4,6,2元素移动,只需...原创 2018-08-17 10:49:58 · 3000 阅读 · 0 评论 -
C++实现堆排序
堆的定义: 堆(英语:heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: 1.堆中某个节点的值总是不大于或不小于其父节点的值; 2.堆总是一棵完全二叉树。 将根节点最大的堆叫做最大堆或大根堆或大顶堆,根节点最小的堆叫做最小堆或小根堆或者小顶堆。常见的堆有二叉堆、斐波那契堆等。 堆的定义如下:n个元素的序列{k1,k2,ki,…,...原创 2018-08-27 10:40:22 · 1529 阅读 · 1 评论 -
C++ NULL与nullptr
在最近写代码时会遇到判断是否为空指针,看别人的代码有时候用NULL有时候用nullptr,所以查了一下他们之间的区别: 首先NULL和nullptr都能代表空指针,但是在C++中代表的含义是不同的,NULL被定义为整型变量0或者直接就是由0转化成的void*。它的定义代码如下:#ifndef NULL #ifdef __cplusplus #define NULL 0...原创 2018-08-27 10:54:45 · 1851 阅读 · 0 评论 -
C++希尔排序
希尔排序的提出: 直接插入排序算法的问题: 若一个最小的值在后面,那么当排这个最小值的时候需要一步步移动,将其移动到序列的最前面,那么有没有什么方法减少这种移位? 我们不希望一步一步移动,而是给它设置一个增量让其大步移动,希尔排序由此产生,同时希尔排序打破了排序算法时间复杂度不能低于O(n2)O(n2)O(n^2)。 希尔排序采用跳跃分割的策略: 将相距某个“增量”的记录组成一个子序列,...原创 2018-08-21 16:58:58 · 2325 阅读 · 0 评论 -
使用VS2017输入输出时出现控制台闪退解决方法
当使用VS2017执行下列输入输出程序时 ,控制台直接闪退:#include<iostream>using namespace std;int main() { int carrots; carrots = 25; cout << "I have "; cout << carrots; cout <...原创 2018-04-18 22:30:15 · 3998 阅读 · 0 评论 -
C++ Primer Plus(第六版)第四章编程练习答案
1. 编写一个C++程序,如下述输出示例所示的那样请求并显示信息: What is your first name? Beety Sue What is your last name? Yewe What letter grade do you deserve? B What is your age? 22 Name: Yewe, Betty Sue Grade: C ...原创 2018-05-17 22:25:39 · 3176 阅读 · 0 评论 -
C++ Primer Plus(第六版)第五章编程练习答案
1. 编写一个要求用户输入两个整数的程序。该程序将计算并输出这两个整数之间(包括这两个整数)所有整数的和。这里假设先输入较小的整数。例如,如果用户输入的是2和9,则程序将指出2-9之间所有整数的和为44. #include&lt;iostream&gt;using namespace std;int main() { int min, max; int total =...原创 2018-05-18 17:01:58 · 1961 阅读 · 0 评论 -
C++ Primer Plus(第六版)第二章编程练习答案
1.#include&lt;iostream&gt;using namespace std;int main() { cout &lt;&lt; "Bob" &lt;&lt; endl; cout &lt;&lt; "USA" &lt;&lt; en原创 2018-05-13 11:49:46 · 536 阅读 · 0 评论 -
C++ Primer Plus(第六版)第三章编程练习答案
1. 编写一个小程序。要求用户使用一个整数指出自己的身高(单位为英寸),然后将身高转换为英尺和英寸。该程序使用下划线字符来指示输入位置。另外,使用一个const符号常量来表示转换因子。 注:1英尺=12英寸。#include<iostream>using namespace std;const int Factor = 12;int main() { int h...原创 2018-05-13 17:14:19 · 2155 阅读 · 0 评论 -
C++ Primer Plus(第六版)第六章编程练习答案
1.请编写一个程序,读取键盘输入,直到遇到@符号为止,并回显输入(数字除外),同时将大写字符转换为小写,将小写字符转换为大写(别忘了cctype函数系列)#include&amp;amp;amp;lt;iostream&amp;amp;amp;gt;#include&amp;amp;amp;lt;cctype&amp;amp;amp;gt;using namespace std;int main() { char ch;原创 2018-10-24 23:12:49 · 3055 阅读 · 1 评论