C++
zhicpp
Welcome to my csdn blog!
展开
-
对map进行排序_求解字符串出现次数多的前k个
文章目录1.对map按照val排序2.笔试题1.对map按照val排序map默认是按照key值进行升序排列的。如果想让map按照val进行排序,直接用sort是办不到的,可以采用将map中的元素(假设key是string类型,val是int类型)装到vector<pair<string, int>>中,然后自己写cmp函数,进行sort排序。bool cmp1(pair<string,int> a, pair<string, int> b){ if .原创 2020-09-07 09:05:48 · 380 阅读 · 0 评论 -
Visual Studio 2017 常见配置总结
俗话说磨刀不误砍柴工。编程先把 IDE 配置好了,用起来得心应手,能较大提高效率!C++常用的Visual Studio配置如下:Visual Studio 常用快捷键、字体、主题设置Visual Studio添加C++代码片段Visual Studio安装AStyle插件格式化代码...原创 2020-07-05 00:26:11 · 682 阅读 · 0 评论 -
Visual Studio安装AStyle插件格式化代码
Artistic Style(简称AStyle)是一个开源代码格式化工具,可以在Visual Studio中下载配置。通过Visual Studio下载AStyle先找到菜单栏中:工具/扩展和更新联机->输入astyle下载好了之后,重新启动Visual Studio。配置AStyle插件的快捷键然后点击工具/选项然后按照下图填写:--style=ansi -f -U -p -N -D设置格式化的快捷键,也是在工具/选项/环境里效果演示...原创 2020-07-05 00:24:16 · 4507 阅读 · 3 评论 -
Visual Studio添加C++代码片段
在Visual Studio中写C/C++代码,常常会写一些常见的头文件和main函数,可以将这些代码设置为代码块,然后用快捷方式直接生成这段代码,能提高写代码的效率。在一些视频中,常看到添加完c或cpp文件后,输入#1或#2,按下Tab,直接上手写业务逻辑,不用再#include一个一个的头文件,效果如下:首先新建两个后缀为.snippet的文件,内容如下:c.snippet<?xml version="1.0" encoding="utf-8"?><CodeSnippets原创 2020-05-29 10:45:11 · 1995 阅读 · 3 评论 -
笔试输入一行个数未知的数字
昨天做了一个笔试,题目不是很难,但却在输入上卡了许久。输入的要求是:个数未知的一组数组用例1:1 2 3 4 5用例2:11 22 33 44 55 66 77 88要把输入的数字提取出来,保存在vector中,方便后面对数据进行操作。方法1、判断数字后面的字符是否是回车\n方法2、用string流(istringstream)来处理输入代码实现:#include <iostream>#include <vector>#include <string&原创 2020-05-20 14:57:59 · 248 阅读 · 0 评论 -
C++ STL priority_queue优先队列的使用方法
`priority_queue`是优先队列,就像普通队列一样,只是队列中的第一个元素是队列中所有元素中最大的,算是C ++中的堆的一种实现,`priority_queue`默认是**最大堆**。元素可以任意的顺序插入,插入的时间复杂度为`O(logn)`。原创 2020-04-18 17:55:24 · 1412 阅读 · 0 评论 -
自己实现一个string类
自己实现一个string类,包含构造函数、拷贝构造函数、析构函数、赋值运算符重载函数、左移运算符重载函数。原创 2020-04-12 11:50:34 · 1287 阅读 · 0 评论 -
OJ的输入输出总结C++版
OJ的输入输出总结C++版最近在找实习,做笔试的时候,有时候连输入输出都要折腾很久,就大大降低了效率,总不能死在了输入输出上吧!自己平时熟悉C++,总结下C++常见的输入输出,希望下次笔试输入输出不再是问题:-)OJ(Online Judge)的工作原理是我们提交程序,后台编译程序,然后执行编译好的程序,将结果保存在文件中,然后对比文件比较用户的输出和标准答案,然后得出通过率。OJ模式的题...原创 2020-03-30 18:10:58 · 6543 阅读 · 2 评论 -
梳理下istringstream ostringstream stringstream的关系
梳理下istringstream ostringstream stringstream的关系今天在练习面试题37. 序列化二叉树的时候,需要用到istringstream,ostringstream这两个类,不太熟悉,查找相关文档,记录下来。在头文件<sstream>中定义了三个字符串流,分别是:istringstream:输入字符串流,是一个类ostringstream:输...原创 2020-03-27 15:33:19 · 382 阅读 · 0 评论 -
04快速排序
1.基本思想和归并排序一样,快速排序也采用分治的思想,选取一个元素作为枢pivot,把原始的数组筛选成较小和较大的两个子数组,使得在pivot左边的元素都小于pivot,在pivot右边的元素都大于pivot,然后递归地排序两个子数组。例子:对数组 [2, 1, 7, 9, 5, 8] 进行排序。2.C++代码实现编译环境:win10系统下VS2013IDE/* C++ 实现快速排序 ...原创 2020-02-05 18:08:00 · 159 阅读 · 0 评论 -
MongoDB以及C++驱动在Ubuntu上的安装
最近在学习数据库MongoDB,将安装过程记录下来,方便以后查看。安装环境:主机是win10系统,在VM虚拟机上安装了Ubuntu16.04LTS系统,通过Xshell软件连接Ubuntu进行远程操作1.在Ubuntu16.04LTS上安装MongoDB 4.2 Community Edition1.1 导入包管理系统使用的公钥wget -qO - https://www.mongodb....原创 2020-02-03 16:51:35 · 1565 阅读 · 2 评论 -
03归并排序
1.基本思想归并排序(Merge Sort)的核心是分治,将一个复杂问题分解成多个相同或相似的子问题,然后把子问题分解成更小的问题,知道子问题可以简单地求解,最原始问题的解就是子问题解的合并。一开始先将数组从中间分成两个子数组,一直递归把子数组划分成更小的子数组,直到子数组里只包含一个元素,这时才开始排序。排序的方法就是按照大小的顺序合并两个元素,接着依次按照递归返回的顺序,不断合并排好序...原创 2020-02-02 20:35:25 · 142 阅读 · 0 评论 -
02插入排序
1.基本思想不断将没有排好序的数插入到排好序的数组中。对数组 [2, 1, 7, 9, 5, 8] 进行插入排序。2.C++代码实现#include <iostream>using namespace std;//插入排序void insertionSort(int arr[], int n) { int i, key, j; for (i = 1; i <...原创 2020-02-02 10:41:31 · 183 阅读 · 0 评论 -
01冒泡排序
1.普通的冒泡排序冒泡排序是最简单的排序算法,它通过比较相邻元素并进行交换。例子:需要排序的数组为[2, 1, 7, 9, 5, 8]。第一轮排序:[2, 1, 7, 9, 5, 8]->[1, 2, 7, 9, 5, 8],交换,因为2>1[1, 2, 7, 9, 5, 8]->[1, 2, 7, 9, 5, 8][1, 2, 7, 9, 5, 8]-&...原创 2020-01-26 14:37:44 · 177 阅读 · 0 评论 -
C++ Primer warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11
Sales_item.h:56:18: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 Sales_item()=default; ^Sales_item.h:70:27: warning: non-static data...原创 2019-02-24 17:48:11 · 1698 阅读 · 0 评论 -
C++ 中error: ‘exit’ was not declared in this scope 的解决方法
添加头文件#include <cstdlib>原创 2018-11-22 09:41:56 · 18739 阅读 · 2 评论 -
Visual Studio 常用快捷键、字体、主题设置
1.常用快捷键1.1 复制当前行到下一行,在当前行先Ctrl+c再Ctrl+v1.2剪切当前行或删除当前行,Ctrl+x1.3设置注释和取消注释的快捷键注释快捷键设置为Ctrl+/,取消注释快捷键为Ctrl+shift+/工具 -> 选项 -> 环境 -> 键盘2.字体和主题设置2.1字体工具 -> 选项 ->...原创 2018-10-21 01:03:02 · 8539 阅读 · 1 评论 -
学习C++系列一:命名约定
命名约定为了方便程序员(而不是编译器)理解代码,因此为养成一个好的编程习惯,选择合适的约定。程序清单1:使用变量存储数字及相乘的结果#include "stdafx.h"#include <iostream>using namespace std;void MultiplyNumbers(){ cout << "This program will he...原创 2018-10-14 10:45:42 · 284 阅读 · 0 评论