pair node stack vector string priority_queue
map
#include <bits/stdc++.h>
using namespace std;
#define int long long
map<char,string> mp;
signed main() {
ios::sync_with_stdio();
mp[''] = "";mp[''] = "";mp[''] = "";
mp['A'] = ""; map<char,string> :: iterator it;
for(it = mp.begin(); it != mp.end();it++)
cout << it->first << " " << it->second << endl;
cout << "倒序遍历:\n";
for(auto t = --mp.end();;t--){
cout << t->first << " " << t->second << endl;
if(t == mp.begin()) break;
}
cout << "auto的遍历:\n";
for(auto itt : mp)
cout << itt.first << " " << itt.second << endl; return ;
}
vector
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> v;
int main(){
if(v.empty())
puts("v is empty");
for(int i = ; i < ; i ++)
v.push_back(i);
cout << v.size() << endl;
v.insert(v.begin() + , );//在第10个元素前面插入10
v.push_back();//尾部插入10
for(int i = ; i < v.size(); i++)
cout << v[i] << " ";
cout << endl;
v.erase(v.begin() + );//删除第10个
v.pop_back();//删除末尾
for(int i = ; i < v.size(); i++)
cout << v[i] << " ";
cout << endl;
reverse(v.begin(),v.end());//反转
for(int i = ; i < v.size(); i++)
cout << v[i] << " ";
cout << endl;
sort(v.begin(),v.end());
for(int i = ; i < v.size(); i++)
cout << v[i] << " ";
return ;
}
v [ n ]
返回 v 中位置为 n 的元素。
push_back() 在数组的最后添加一个数据
pop_back() 去掉数组的最后一个数据
begin() 得到数组头的指针
end() 得到数组的最后一个单元+1的指针
empty() 判断vector是否为空
swap() 与另一个vector交换数据
string
长度 | str.length(), str.size() |
---|---|
比较 | str1.compare(str2) |
查找 | pos = str1.find(str2) |
连接 | str1 += str2 |
插入 | str1.insert(pos,str2) |
替换 | str1.replace(pos,n,str2) |
删除 | str1.erase(pos,len) |
清除 | str.clear() |
判空 | str.empty() |
反转 | reverse(s.begin(),s.end()) |
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main(){
string str1,str2,str3;
str1 = "Hello";
str2 = "World";
cout << str1.insert(2,str2) << endl;
cout << str1 << endl;
cout << str1.replace(0,1,str2) << endl;//从下标0开始的1个用str2替换
cout << str3 << endl;
cout << str3.find("World") << endl;
cout << str3.erase(2,3)<< endl;
cout << str3 << endl;
reverse(str3.begin(),str3.end());
cout << str3 << endl;
}
vector 和string基本差不多
priority_queue
建立的时间复杂度O(n)
插入删除时间复杂度O(log n)
升序
priority_queue<int,vector<int>,greater<int>> que;
降序
priority_queue<int> que;
与普通队列
同:在队尾插入,队头删除
异:队列中最大元素总是在队头(这也就是说,出队列不是按照先进先出,而是按照元素大小,从大到小出去)
pair node stack vector string priority_queue的更多相关文章
- c++ StrVec等效vector(string)的类
c++ StrVec等效vector<string>的类 知识点 静态成员变量要在类外定义和初始化 allocator类是使用和uninitialized_copy的配合使用,实现stri ...
- C++ Split string into vector<string> by space
在C++中,我们有时候需要拆分字符串,比如字符串string str = "dog cat cat dog"想以空格区分拆成四个单词,Java中实在太方便了,直接String[] ...
- 单独删除std::vector <std::vector<string> > 的所有元素
下面为测试代码: 1.创建 std::vector< std::vector<string> > vc2; 2.初始化 std::vector<string> vc ...
- 给jdk写注释系列之jdk1.6容器(10)-Stack&Vector源码解析
前面我们已经接触过几种数据结构了,有数组.链表.Hash表.红黑树(二叉查询树),今天再来看另外一种数据结构:栈. 什么是栈呢,我就不找它具体的定义了,直接举个例子,栈就相当于一个很窄的木桶 ...
- 编写程序,将来自文件中的行保存在一个vector<string>,然后使用一个istringstream 从vector中读取数据,每次读一个单词
#include<fstream> #include <vector> #include<string> #include<iostream> #inc ...
- vector(char*)和vector(string)
vector<char*> ch; vector<string> str; for(int i=0;i<5;i++) { char *c=fun1();//通过这个语句产 ...
- Effective STL 学习笔记: 多用 vector & string
Effective STL 学习笔记: 多用 vector & string 如果可能的话, 尽量避免自己去写动态分配的数组,转而使用 vector 和 string . 原书作者唯一想到的一 ...
- PKU 1035 Spell checker(Vector+String应用)
题目大意:原题链接 1输入一个字符串,如果字典中存在该字符串,直接输出,否则; 2.删除,替换,或插入一个字母.如果使得输入字符串==字典中已经有的单词,输出该单词,否则. 3.直接输入下一个字符串, ...
- C++ Stack 与String
// ConsoleApplication1.cpp : 此文件包含 "main" 函数.程序执行将在此处开始并结束. // #include "pch.h" ...
随机推荐
- [Linux] Ubuntu18.04 安装之后配置过程
前言 最终还是安装了Ubuntu 虽然一开始想用Deepin 但是死活安装不上,我也很绝望(引导一直找不到 恢复BIOS默认设置也还是不行 所以 有些绝望啊....) 所以 为了让以后的我不再那么 ...
- B. Game with string 思维问题转化
B. Game with string 思维问题转化 题意 有一个字符串 每次可以删去连续的两个同样的字符,两个人轮流删,问最后谁能赢 思路 初看有点蒙蔽,仔细看看样例就会发现其实就是一个括号匹配问题 ...
- Custom LED Keychain, Small And Surefire Gifts
The LED Keychain makes it easy for people to carry their keys with them and carry them with th ...
- 【C语言】利用递归函数求n的阶乘
递归实现n的阶乘 什么是阶乘:0!= 1,n!=n * (n - 1) * (n - 2)......3 * 2 * 1: 解题思路: 1> 分析题意,很明显0是递归出口: ...
- Java实现Word/Pdf/TXT转html
引言: 最近公司在做一个教育培训学习及在线考试的项目,本人主要从事网络课程模块,主要做课程分类,课程,课件的创建及在线学习和统计的功能,因为课件涉及到多种类型,像视频,音频,图文,外部链接及文档类型. ...
- 计算几何-Ang-Rad-Vector
This article is made by Jason-Cow.Welcome to reprint.But please post the article's address. 旋转,跳跃,梦境 ...
- java的动态绑定和多态
public class Shape { public void area() { System.out.println("各种形状的面积..."); } public stati ...
- 深度学习之tensorflow框架(下)
def tensor_demo(): """ 张量的演示 :return: """ tensor1 = tf.constant(4.0) t ...
- token是个什么东西?怎样生成并携带token
什么是token及怎样生成token 转载自:https://www.cnblogs.com/lufeiludaima/p/pz20190203.html 什么是token Token是服务端生成的 ...
- 根据IP地址查找MAC地址
ping 地址 arp -a得到ip对应的mac