
C++
Cuzblind
这个作者很懒,什么都没留下…
展开
-
c++优先队列(priority_queue)用法详解
既然是队列那么先要包含头文件#include <queue>, 他和queue不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队优先队列具有队列的所有特性,包括基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的和队列基本操作相同:top 访问队头元素empty 队列是否为空size 返回队列内元素个数push 插入元素到队尾 (并排序)emplace 原地构造一个元素并插入队列pop 弹出队头元素swap 交换内容定义:pri转载 2021-04-11 11:00:07 · 157 阅读 · 0 评论 -
C++ 之 unordered_map——哈希表
unordered_map是C++中的哈希表,可以在任意类型与类型之间做映射。基本操作:引用头文件(C++11):#include <unordered_map>定义:unordered_map<int,int>、unordered_map<string, double> ...插入:例如将("ABC" -> 5.45)插入unordered_map<string, double> hash中,hash["ABC"]=5.45查询:hash[原创 2021-04-07 20:08:17 · 411 阅读 · 0 评论 -
pair的用法 make_pair
pair<string, int> p1(“123”, 99), p2, p3;p2.first = “abc”, p2.second = 2;p3 = make_pair(“dce”, 1);cout << p1.first << ” “ << p1.second;pair<string, int> 相当于一个类型名称,如果要创建一个这个类型的数组,可以写vector<pair<string, int>>...转载 2021-03-11 19:16:44 · 185 阅读 · 0 评论 -
c++ string中的front()与back()
string a="abcd";1.获取字符串最后一个字符auto b=a.back(); //结果为 b='d';2.修改字符串最后一个字符a.back()='!'; //结果为 a="abc!";3.获取字符串第一个字符auto b=a.front(); //结果为 b='a';4.修改字符串第一个字符a.front()='!'; //结果为 a="!bcd";...原创 2021-03-10 16:03:17 · 2660 阅读 · 0 评论 -
关于sscanf,sprintf,fsprintf,fscanf和string中c_str()的用法
sscanf(字符串转数字)sscanf函数原型为int sscanf(const char str, const char format,…)。将参数str的字符串根据参数format字符串来转换并格式化数据,转换后的结果存于对应的参数内。具体功能如下:(1)根据格式从字符串中提取数据。如从字符串中取出整数、浮点数和字符串等。(2)取指定长度的字符串(3)取到指定字符为止的字符串(4)取仅包含指定字符集的字符串(5)取到指定字符集为止的字符串#include<iostream>原创 2021-03-10 16:01:16 · 912 阅读 · 0 评论 -
cin.getline()、getline()、gets()、cin.get(),getchar()的区别
#include <iostream>string str1;char str2[100];cin >> str1;cin >> str2;//cin以空格和回车为结束符 char ch;cin.get(ch);//用来接收一个字符 char str[20];cin.get(str, 20);//接收一行字符串,可以接收空格 char str[20];cin.getline(str, 20);//接收一行字符串,可以接收空格cin.getli.转载 2021-03-08 15:06:33 · 232 阅读 · 0 评论 -
string转int/float/double、int/float/double转string、转字符串数组的方法:stoi、stringstream、scanf、to_string、sprintf
一、string转化为数字1.使用stoi#include <iostream>#include <string>using namespace std;int main() { string str = "123"; int a = stoi(str); cout << a; str = "123.44"; double b = stod(str); cout << b; return 0;转载 2021-03-08 15:04:54 · 232 阅读 · 0 评论 -
binary_search()、upper_bound()、lower_bound() 二分查找
vector a = {0,1,2,2,3,4}; 使用前提是a已经是升序排列cout << binary_search(a.begin(), a.end(), 3);// 找是否存在3,return false or trueauto it = upper_bound(a.begin(), a.end(), 2);// 从左到右返回第一个大于2的数字的地址auto itt = lower_bound(a.begin(), a.end(), 2);// 从左到右返回第一个大于等于2.转载 2021-03-07 19:57:36 · 126 阅读 · 0 评论 -
C++sscanf的用法
常见用法sscanf("123456 ", "%s", str);2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。sscanf("123456 ", "%4s", str);3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。sscanf("123456 abcdedf", "%[^ ]", str);4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。sscanf("123456abcdedfBCDEF", "%[1-9a-z].转载 2020-10-19 21:21:37 · 356 阅读 · 0 评论 -
C++:sprintf()的用法
在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。 sprintf 是个变参函数,定义如下: int sprintf( char *buffer, const char *format [, argument] … ); 除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个转载 2020-10-19 20:59:52 · 508 阅读 · 0 评论