0
点赞
收藏
分享

微信扫一扫

deque容器的相关操作

//deque的赋值操作


void printdeque(const deque<int>& v)

{//加入const后it的值不可以跟改//只读;

   for (deque<int>::const_iterator it = v.begin(); it != v.end(); it++)

   {

       cout << *it << " " ;

   }

   cout << endl;

}

void test5()

{

   deque<int>d3;

   for (int i = 0; i < 10; i++)

   {

       d3.push_back(i);

   }

   deque<int>d2;

   d3 = d2;

   printdeque(d2);

   //assign赋值

   deque<int>d2;

   d2.assign(d3.begin(), d3.end());

   printdeque(d2);

   deque<int>d2;

   d2.assign(10,100);

   printdeque(d2);

}

int main()

{


   test5();

   system("pause");

   return 0;

}


//deque大小操作:对大小进行操作;


void printdeque(const deque<int>& d)

{//加入const后it的值不可以跟改//只读;

   for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++)

   {

       cout << *it << " ";

   }

   cout << endl;

}

void test6()

{

   deque<int>d3;

   for (int i = 0; i < 10; i++)

   {

       d3.push_back(i);

   }

   if (d3.empty())

   {

       cout << "大小不为空" << endl;

   }

   else

   {

       cout << d3.size() << endl;

   }

   //重新指定大小

   d3.resize(15, 1);

   printdeque(d3);

   d3.resize(5);//只要5个数

   printdeque(d3);

}

/对deque容器进行插入和删除

void printDeque(deque<int>&d)

{

for(deque <int>::const_iterator it=d.begin();it!=d.end();it++)

{

 cout<<*it<<" ";

}

 cout<<endl;

 

}


void test()

{

deque<int>d1;


//尾插

d1.push_bacK(10);

d1.push_bacK(20);

//头插

d1.push_front(100);

d1.push_front(200);

printDeque(d1);


//删除

//头删

d1.pop_front();

//尾删

d1.pop_back();

printDeque(d1);

}


void test2()

{

deque<int>d2;

d2.push_bacK(10);

d2.push_bacK(20);

d2.push_front(100);

d2.push_front(200);

printDeque(d2);


//insert插入

d2.insert(d2.begin(),1000);

d2.insert(d2.begin(),2,10000);

printDeque(d2);


deque<int>d3;

d3.push_bacK(1);

d3.push_bacK(2);

d3.push_front(3);

//按照区间进行插入

d2.insert(d1.begin(),d3.begin(),d3.end());

printDeque(d2);

 

 

void test3()

{

deque<int>d2;

d2.push_bacK(10);

d2.push_bacK(20);

d2.push_front(100);

d2.push_front(200);

printDeque(d2);


//删除

deque<int>::iterator it=d1.begin();

it++;//迭代器向后移动一位

d1.erase(it);//删除迭代器所指的位置元素;

printDeque(d2);

//按区间方式进行删除;

d2.clear(); //清空函数;                                                  

d1.erase(d1.begin(),d1.end());

printDeque(d2);

}  

}

int main()

{

test1();

test2();

test3();

system("pause");

return 0;

}

//插入和删除提供的位置是迭代器;


//deque数据存取

//除了用迭代器获取deque容器中的元素,[]和at也可以;

//对于deque中的数据进行存取

#include<iostream>

using namespace std;

#include<string>    

void test2()

{

deque<int>d2;

d2.push_bacK(10);

d2.push_bacK(20);

d2.push_front(100);

d2.push_front(200);

printDeque(d2);

for(int i=0;i<d2.size();i++)

{

 cout<<d[i]<<" ";

}

cout<<endl;

//通过at方式进行访问

 

for(int i=0;i<d2.size();i++)

{

 cout<<d.at(i)<<" ";

}

cout<<endl;

cou<<"d2的第一个元素是"<<d1.front()<<endl;

cou<<"d2的最后一个元素是"<<d1.back()<<endl;

 

}

 

//deque排序

利用算法实现对deque容器进行排序;

//对于支持随机访问的迭代器的容器,都可以利用sort算法直接对其进行排序 例如:vector容器也可以利用sort函数;

//sort(iterator beg,iterator end)//对beg和end区间元素进行排序

 

void printDeque(deque<int>&d)

{

for(deque <int>::const_iterator it=d.begin();it!=d.end();it++)

{

 cout<<*it<<" ";

}

 cout<<endl;

 

}


void test4()

{

 deque<int>d4;

d4.push_bacK(20);

d4.push_bacK(10);

d4.push_front(100);

d4.push_front(200);

d4.push_bacK(8);

printDeque(d4);

//排序 sort//默认排序规则从小到大;

sort(d4.begin(),d4.end());//提供迭代器给函数

cout<<"排序后"<<endl;

printDeque(d4);

}

int main()

{

test4();

system("pause");

return 0;

}

举报

相关推荐

0 条评论