2、STL
stl
Estrellas_
I am the king of the world.
展开
-
codeup 21142: 合并果子【哈夫曼树】
一、题目描述在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力...原创 2020-01-22 14:07:22 · 214 阅读 · 0 评论 -
codeup 1918: 简单计算器
题目:http://codeup.cn/problem.php?id=1918题目描述读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。输入测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。输出对每个测试用例输出1行,即该表达式的...原创 2020-01-15 00:34:18 · 198 阅读 · 0 评论 -
algorithm下的全排列函数next_permutation
使用next_permutation前,需先对要进行全排列的元素集合进行递增排序(可使用sort)。#include<iostream>#include<algorithm>using namespace std;void print(int a[],int n){ for(int i=0;i<n;i++) { cout<<...原创 2020-01-14 12:14:58 · 277 阅读 · 0 评论 -
STL中的优先队列 priority_queue (堆)
注意:1、友元函数运算符重载;2、堆的优先级的设置。#include<iostream>#include<queue>using namespace std;struct fruit{ string name; int price; friend bool operator < (const fruit &f1,const ...原创 2020-01-13 22:26:03 · 124 阅读 · 0 评论 -
通过pair对map进行元素的插入
mp.insert(make_pair("haha",3));mp.insert (pair<string,int>("heihei",5));#include<iostream>#include<map>using namespace std;int main(){ /* pair<string,int> p;...原创 2020-01-13 22:58:48 · 675 阅读 · 0 评论 -
7-33 电话聊天狂人
给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人。输入格式:输入首先给出正整数N(≤105),为通话记录条数。随后N行,每行给出一条通话记录。简单起见,这里只列出拨出方和接收方的11位数字构成的手机号码,其中以空格分隔。输出格式:在一行中给出聊天狂人的手机号码及其通话次数,其间以空格分隔。如果这样的人不唯一,则输出狂人中最小的号码及其通话次数,并且附加给出并列...转载 2019-03-28 18:06:09 · 204 阅读 · 0 评论 -
vector访问与赋值
1、vector元素的访问:访问可以用下标访问,只要不越界,都是有效数据#include<iostream>#include<vector>using namespace std;int main(){ vector<int> a; a.push_back(10); cout<<a[0]; return 0;...原创 2019-03-13 15:10:18 · 2803 阅读 · 0 评论 -
C++中string、char *、char[]、const char*的转换
简述:1)char*转string:可以直接赋值。2)char[]转string:可以直接赋值。3)char*转char[]:不能直接赋值,可以循环char*字符串逐个字符赋值,也可以使用strcpy_s等函数。4)string转char[]:不能直接赋值,可以循环char*字符串逐个字符赋值,也可以使用strcpy_s等函数5)string转char*:调用string对...转载 2019-03-18 09:55:38 · 588 阅读 · 0 评论 -
string类型数据的find函数
string类型数据的find函数:string.find ( string / char ) 。①、若在string中存在,则返回第一次出现的位置(下标)。②、若不存在,则返回 string::npos 。1、一参数、参数为字符:#include<iostream>using namespace std;int main(){ string s...原创 2019-03-12 21:48:17 · 11219 阅读 · 0 评论 -
C++ replace() 函数用法
replace算法: replace函数包含于头文件#include<string>中。 泛型算法replace把队列中与给定值相等的所有值替换为另一个值,整个队列都被扫描,即此算法的各个版本都在线性时间内执行———其复杂度为O(n)。 即replace的执行要遍历由区间[frist,last)限定的整个队列,以把old_value替换成...转载 2019-03-17 18:02:22 · 4468 阅读 · 0 评论 -
replace函数
将字符串中的某个字符,替换为另一个字符:需包含algorithm头文件。代码:#include<algorithm>#include<iostream> using namespace std;int main(){ string str="asgfdsgf"; cout << str << endl...原创 2019-03-17 17:49:31 · 2724 阅读 · 0 评论 -
C++获取数组的长度
使用模板template。1、求数组长度的模板函数:template<class T>int length(T& arr){ //cout << sizeof(arr[0]) << endl; //cout << sizeof(arr) << endl; return sizeof(arr...原创 2019-03-20 22:14:27 · 7020 阅读 · 3 评论 -
string与char数组相互转换
一、char数组转string:1、可以直接赋值。2、代码:#include<iostream>using namespace std;int main(){ char a[]=" abc d\0efg "; string s=a; //直接赋值 cout<<s; return 0; }3、结果:二、st...原创 2019-03-20 17:07:26 · 43190 阅读 · 4 评论 -
C++分割字符串,及strtok函数使用
一、使用strtok分割字符数组:1、strtok函数原型:char * strtok (char * str, const char * delimiters); ①、参数str指向要分割的字符串,参数delimiters则为分割依据。当发现分割字符时,将该字符改为'\0'字符。②、在第一次调用时,strtok()需给出参数str字符串,将字符串转换成标记。③、往后的调用...原创 2019-03-20 16:14:03 · 1427 阅读 · 0 评论 -
string与数字相互转换
一、reverse函数用法:①、reverse函数头文件: #include<algorithm> 。②、reverse函数第二个参数为末元素的下一个地址。1.reverse函数反转string#include <iostream>#include <algorithm>//#include <cstring>using...原创 2019-03-12 10:51:16 · 2782 阅读 · 0 评论 -
C++ sort排序函数的用法总结
标准模板库STL中的sort()函数,时间复杂度为n*log2(n),执行效率较高。用法:①、sort()函数可以三个参数也可以两个参数;②、必须的头文件 #include < algorithm>和using namespace std。③、它使用的排序方法类似于快排,时间复杂度为n*log2(n)sort()函数有三个参数:(第三个参数可不写)(...原创 2019-03-09 21:10:27 · 2575 阅读 · 0 评论 -
访问vector元素方法的效率比较
比较访问vector元素的两种方式:一、使用下标访问;二、使用迭代器(类似指针)访问。代码:#include<iostream>#include<vector>#include<windows.h>using namespace std;int main(){ vector<int> vec; vec.res...原创 2019-03-09 19:44:19 · 2520 阅读 · 0 评论