C++之deque
#include <iostream>
#include<queue>
using namespace std;
void printDeuque(const deque<int>&d)
{
for(deque<int>::const_iterator it = d.begin();it != d.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
void test1()
{
deque<int> v;
for(int i = 0;i<10;i++)
{
v.push_back(i);
}
printDeuque(v);
deque<int> v2(v.begin(),v.end());
printDeuque(v2);
deque<int>v3(3,100);
printDeuque(v3);
deque<int> v4(v3);
printDeuque(v4);
}
int main()
{
test1();
cout << "Hello World!" << endl;
return 0;
}
#include <iostream>
#include<queue>
using namespace std;
void printDeuque(const deque<int>&d)
{
for(deque<int>::const_iterator it = d.begin();it != d.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
void test1()
{
deque<int> v;
for(int i = 0;i<10;i++)
{
v.push_back(i);
}
printDeuque(v);
//operator= 赋值
queue<int> v2;
v2 = v;
printDeuque(v2);
//assign 赋值
queue<int> v3;
v3.assign(v.begin(),v.end());
printDeuque(v3);
queue<int>v4;
v4.assign(10,100);
printDeuque(v4);
}
int main()
{
test1();
cout << "Hello World!" << endl;
return 0;
}
#include <iostream>
#include<queue>
using namespace std;
//deque . empty();//判断容器是否为空
//dequesize();//返回容器中元素的个数
//deque.resize(num);//重新指定容器的长度为num,若容器变长,则以默认值填充新位置//如果容器变短,则末尾超出容器长度的元素被删除.
//deque.resize(num, elem) ;//重新指定容器的长度为num,若容器变长,则以elem值填充新位置。//如果容器变短,则未尾超出容器长度的元素被删除
void printDeuque(const deque<int>&d)
{
for(deque<int>::const_iterator it = d.begin();it != d.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
void test1()
{
deque<int> v;
for(int i = 0;i<10;i++)
{
v.push_back(i);
}
printDeuque(v);
if(v.empty())
{
cout<<"v is empty"<<endl;
}
else
{
cout<<"v is not empty"<<endl;
cout<<"v 的大小"<<v.size();
//deque没有容量的概念
}
//从新指定大小
v.resize(15);
printDeuque(v);
v.resize(15,1);
printDeuque(v);
v.resize(5);
printDeuque(v);
}
int main()
{
test1();
cout << "Hello World!" << endl;
return 0;
}
#include <iostream>
#include<queue>
using namespace std;
//两端插入操作:
//push_back(elem);//在容器尾部添加一个数据
//push_front(elem);//在容器头部插入一个数据
//pop_back();//删除容器最后一个数据
//pop_front();//删除容第一个数据
//指定位置操作:
//insert(pos,elem);//在pos位置插入一个elem元素的拷贝,返回新数据的位置。
//insert(pos,n,elem);//在pos位置插入n个elem数据,无返回值
//insert(pos,beg,end);//在pos位置插入[beg,end)区间的数据,无返回值
//clear();//清空容器的所有数据
//erase( beg,end);//删除[beg,end)区间的数据,返回下一个数据的位置
//erase( pos);//删除pos位置的数据,返回下一个数据的位置。
void printDeuque(const deque<int>&d)
{
for(deque<int>::const_iterator it = d.begin();it != d.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
void test1()
{
deque<int> v;
// for(int i = 0;i<10;i++)
// {
// v.push_back(i);
// }
// printDeuque(v);
//在容器尾部添加一个数据
v.push_back(10);
v.push_back(11);
//在容器头部插入一个数据
v.push_front(20);
v.push_front(21);
//21 20 10 11
printDeuque(v);
//删除容器最后一个数据
v.pop_back();
//21 20 10
printDeuque(v);
//删除容第一个数据
v.pop_front();
// 20 10
printDeuque(v);
//在pos位置插入一个elem元素的拷贝,返回新数据的位置。
v.insert(v.begin(),33);
printDeuque(v);
v.insert(v.end(),44);
printDeuque(v);
//在pos位置插入n个elem数据,无返回值
v.insert(v.begin(),2,33);
printDeuque(v);
//在pos位置插入[beg,end)区间的数据,无返回值
deque<int> v2;
v2.push_back(55);
v2.push_back(66);
v.insert(v.begin(),v2.begin(),v2.end());
printDeuque(v);
//清空容器的所有数据
//v.clear();
//删除[beg,end)区间的数据,返回下一个数据的位置
//v.erase(v.begin(),v.end());
//删除pos位置的数据,返回下一个数据的位置。
//v.erase(v.begin());
printDeuque(v);
}
int main()
{
test1();
cout << "Hello World!" << endl;
return 0;
}
#include <iostream>
#include<queue>
using namespace std;
//at(int idx);//返回索引idx所指的数据
//operator[];//返回索引idx所指的数据
//front();//返回容器中第一个数据元素
//back();//返回容器中最后一个数据元素
void printDeuque(const deque<int>&d)
{
for(deque<int>::const_iterator it = d.begin();it != d.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
void test1()
{
deque<int> v;
// for(int i = 0;i<10;i++)
// {
// v.push_back(i);
// }
// printDeuque(v);
//在容器尾部添加一个数据
v.push_back(10);
v.push_back(11);
//在容器头部插入一个数据
v.push_front(20);
v.push_front(21);
//通过[]来访问元素
for(int i = 0;i<v.size();i++)
{
cout<<" v = "<<v[i];
}
cout<<endl;
//通过at来访问元素
for(int i = 0;i<v.size();i++)
{
cout<<" v = "<<v.at(i);
}
cout<<endl;
cout<<"第一个元素为:"<<v.front();
cout<<"最后一个元素为:"<<v.back();
cout<<endl;
}
int main()
{
test1();
cout << "Hello World!" << endl;
return 0;
}
#include <iostream>
#include<queue>
#include<algorithm>//标准算法的头文件
using namespace std;
void printDeuque(const deque<int>&d)
{
for(deque<int>::const_iterator it = d.begin();it != d.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
void test1()
{
deque<int> v;
//在容器尾部添加一个数据
v.push_back(10);
v.push_back(11);
//在容器头部插入一个数据
v.push_front(20);
v.push_front(21);
printDeuque(v);
//排序 默认排序规则 从小到大 升序
//对于支持随机访问的迭代器的容器,都可以利用sort算法直接对其进行排序
//vector容器也可以利用 sort进行排序
//排序
sort(v.begin(),v.end());
printDeuque(v);
}
int main()
{
test1();
cout << "Hello World!" << endl;
return 0;
}