下面是各种vector所有的可能用到的函数
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(int argc, const char *argv[])
{
string s = "helloworldfoo";
string s2 = s.substr(1, 4); //截取string里面的一段,该程序截取从下标1到4 --> ello
cout << s2 << endl;
return 0;
}
#include <iostream>
#include <string>
#include <vector>
#include <stack>//使用栈必须包含的头文件
using namespace std;
int main(int argc, const char *argv[])
{
stack<int> s; //栈的声明方式和使用
s.push(10);//注意此时不再是push_back
s.push(22);
s.push(23);
s.push(1);
s.push(8);
s.push(99);
s.push(14);
while(!s.empty())
{
cout << s.top() << endl;//stack的push(),pop(),top()和empty()函数
s.pop();
}
return 0;
}
#include <iostream>
#include <string>
#include <vector>
#include <queue>//s使用队列必须包含的头文件
using namespace std;
int main(int argc, const char *argv[])
{
queue<int> q; // 队列的声明方式以及使用等
q.push(12);
q.push(23);
q.push(4);
q.push(5);
q.push(7);
while(!q.empty())//队列的函数使用
{
cout << q.front() << endl;
q.pop();
}
return 0;
}
#include <iostream>
#include <string>
#include <vector>
#include <queue>
using namespace std;
int main(int argc, const char *argv[])
{
priority_queue<int> q;//优先级队列的使用,函数等
q.push(12);
q.push(99);
q.push(23);
q.push(123);
while(!q.empty())
{
cout << q.top() << endl;
q.pop();
}
return 0;
}
#include <iostream>
#include <string>
#include <vector>
#include <queue>
using namespace std;
int main(int argc, const char *argv[])//使用系统内置的排序函数的优先级队列的声明方式
{
priority_queue<int, vector<int>, greater<int> > q;
q.push(12);
q.push(99);
q.push(23);
q.push(123);
while(!q.empty())
{
cout << q.top() << endl;
q.pop();
}
return 0;
}
#include <iostream>
#include <string>
#include <vector>
#include <queue>
using namespace std;
int main(int argc, const char *argv[])
{
priority_queue<int, vector<int>, less<int> > q;
q.push(12);//优先级队列
q.push(99);
q.push(23);
q.push(123);
while(!q.empty())
{
cout << q.top() << endl;
q.pop();
}
return 0;
}
#include <iostream>
#include <string>
#include <vector>
#include <queue>
using namespace std;
struct Score
{
int score_;
string name_;
Score(int score, const string name)
:score_(score), name_(name)
{ }
};
class Cmp//优先级队列等得自定义排序方式中Cmp,比较类的书写方式
{
public:
bool operator() (const Score &s1, const Score &s2)
{
return s1.score_ < s2.score_;
}
};
// Cmp p;
// p(s1, s2)
int main(int argc, const char *argv[])
{
priority_queue<Score, vector<Score>, Cmp> q;//stack,queue,等在push进去的时候,可以设置排序函数来对入栈,入队的数据进行排序
q.push(Score(67, "zhangsan"));
q.push(Score(88, "lisi"));
q.push(Score(34, "wangwu"));
q.push(Score(99, "foo"));
q.push(Score(0, "bar"));
while(!q.empty())
{
cout << q.top().name_ << " : " << q.top().score_ << endl;
q.pop();
}
return 0;
}
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
void print(int i)
{
cout << i << endl;
}
int main(int argc, const char *argv[])
{
vector<int> vec;
vec.push_back(12);
vec.push_back(23);
vec.push_back(45);
vec.push_back(56);
vec.push_back(221);
vec.push_back(35);
vec.push_back(129);
for_each(vec.begin(), vec.end(), print);//对vector指定迭代器范围内的里面的每一个元素,设置一个处理函数的使用方式,for_each()函数(最后一个参数是一个函数,默认参数为每个元素)
return 0;
}