c++
砍柴人Ryan
这个作者很懒,什么都没留下…
展开
-
c++中set的基本用法
1.关于setC++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、查找等。让用户在STL使用过程中,并不会感到陌生。关于set,必须说明的是set关联式容器。set作为一个容器也是用来存储转载 2021-02-02 17:54:31 · 312 阅读 · 0 评论 -
c++中的atoi()和stoi()函数的用法和区别
相同点:①都是C++的字符处理函数,把数字字符串转换成int输出②头文件都是#include<cstring>不同点:①atoi()的参数是const char* ,因此对于一个字符串str我们必须调用c_str()的方法把这个string转换成 const char*类型的,而stoi()的参数是const string*,不需要转化为 const char*;②stoi()会做范围检查,默认范围是在int的范围内的,如果超出范围的话则会runtimeerror!...原创 2021-01-29 20:48:27 · 3827 阅读 · 1 评论 -
C++中sort函数的比较器
vector<vector<int>> arr;sort(arr.begin(), arr.end(),[](const vector<int> &a, const vector<int> &b){ return a[1]<b[1];//升序排序});//或者static bool cmp(const vector<int> &a, const vector<int> &b).原创 2021-01-28 18:41:53 · 982 阅读 · 0 评论 -
C++ vector容器find查询函数
vector<int>::iterator result = find( L.begin( ), L.end( ), 1 ); //查找1 if ( result == L.end( ) ) //没找到 cout << "No" << endl; else //找到 cout << "Yes" << endl;}原创 2021-01-24 17:29:30 · 2423 阅读 · 0 评论 -
位运算
一、>> 和>>>的区别 都是表示右移,>>高位用符号位补,>>>高位用0补齐二、异或运算的性质和扩展1、0^N ==N N^N==0 (异或就是无进位相加)2、异或运算满足交换律和结合律3、不用额外变量交换两个数```a=a^bb=a^ba=a^b```- 前提是内存里是两块东西,如果a和b是一个位置,会出错4、一个数组中有一种数出现了奇数次,其他数都出现偶数次,怎么找到这一个数- 所有值异或起来...原创 2020-11-19 19:29:35 · 109 阅读 · 0 评论 -
C++中如何判断一个字符串中包含另一个字符串
使用find函数封装isContain函数bool isContain(string str1, string str2){ if(str1.find(str2)!=string::npos){ return true; }else{ return false; }}原创 2020-11-19 00:06:49 · 7652 阅读 · 0 评论 -
【c++】STL里的priority_queue用法总结
1、头文件#include<queue>2、定义priority_queue<int> p;3、优先输出大数据priority_queue<Type, Container, Functional>Type为数据类型, Container为保存数据的容器,Functional为元素比较方式。如果不写后两个参数,那么容器默认用的是vector,比较方式默认用operator<,也就是优先队列是大顶堆,队头元素最大。...转载 2020-11-16 10:47:52 · 135 阅读 · 0 评论 -
未排序的数组中累加和为给定值的最长数组
题目描述给定一个无序数组arr, 其中元素可正、可负、可0。给定一个整数k,求arr所有子数组中累加和为k的最长子数组长度输入描述:第一行两个整数N, k。N表示数组长度,k的定义已在题目描述中给出第二行N个整数表示数组内的数输出描述:输出一个整数表示答案#include<iostream>#include<vector>#include<map>#include<algorithm>using namespace原创 2020-08-27 17:18:05 · 154 阅读 · 0 评论 -
用递归函数和栈逆序一个栈
题目描述一个栈依次压入1,2,3,4,5,那么从栈顶到栈底分别为5,4,3,2,1。将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现栈中元素的逆序,但是只能用递归函数来实现,不能用其他数据结构。#include<iostream>#include<stack>#include<vector>using namespace std;int getAndRemoveLastElement(stack<int> &s){.原创 2020-08-27 15:50:22 · 217 阅读 · 0 评论