日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

deque双向队列

發布時間:2025/4/16 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 deque双向队列 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//查找 const int FINDNUMBER = 19; printf("\n查找%d\n", FINDNUMBER); pos = find(ideq.begin(), ideq.end(), FINDNUMBER); if (pos != ideq.end()) printf("find %d success\n", *pos); else printf("find failed\n"); //在頭尾刪除數據 printf("\n在頭尾刪除數據...\n"); ideq.pop_back(); ideq.pop_front(); //在頭尾加入新數據 printf("\n在頭尾加入新數據...\n"); ideq.push_back(100); ideq.push_front(i); //operator=賦值運算符重載deque<int> d1 {1,2,3,4,5},d2;d2=d1;deque<int>::iterator it;for(it=d2.begin();it!=d2.end();it++)cout << *it << " ";cout << endl; //c.front()返回c容器的第一個元素 //c.back()返回c容器的最后一個元素deque<int> d {1,2,3,4,5};if(!d.empty()){cout << "d.front():" << d.front() << endl;cout << "d.back(): " << d.back() << endl;} //c.size()返回c容器中實際擁有的元素個數deque<int> d {1,2,3,4,5};cout << "d.size():" << d.size() << endl; //c.assign(n,num)將n個num拷貝復制到容器cdeque<int> d1 {1,2,3,4,5},d2;d2.assign(2,8);deque<int>::iterator it;cout << "d2.assign(n,num):";for(it=d2.begin();it!=d2.end();it++)cout << *it << " "; //c.assign(beg,end)將[beg,end)區間的數據拷貝復制到容器cd2.assign(d1.begin(), d1.begin()+3);cout << "d2.assign(beg,end):";for(it=d2.begin();it!=d2.end();it++)cout << *it << " ";cout << endl; //c.at(pos)返回索引為pos的位置的元素,會執行邊界檢查,如果越界拋出out_of_range異常deque<int> d{1,2,3,4,5};//VS2012以下編譯器不支持這種寫法cout <<"d.at(pos):"<<d.at(2); //c.at(pos)返回索引為pos的位置的元素,會執行邊界檢查,如果越界拋出out_of_range異常deque<int> d {1,2,3,4,5};cout << "d[2]:" << d[2]; //c.empty()判斷c容器是否為空deque<int> d {1,2,3,4,5};if(!d.empty())cout << "d is not empty!" << endl;elsecout << "d is empty!" << endl;//c.max_size()返回c容器可能存放元素的最大數量deque<int> d {1,2,3,4,5};cout << "d.max_size():" << d.max_size() << endl; //c.clear()清除c容器中擁有的所有元素deque<int> d {1,2,3,4,5};deque<int>::iterator it;cout << "clear before:" ;for(it=d.begin();it!=d.end();it++)cout << *it << " ";cout << endl;d.clear();cout << "clear after:" ;for(it=d.begin();it!=d.end();it++)cout << *it << " ";cout << endl; //c.insert(pos,num)在pos位置插入元素num //c.insert(pos,n,num)在pos位置插入n個元素num //c.insert(pos,beg,end)在pos位置插入區間為[beg,end)的元素deque<int> d {1,2,3,4,5};deque<int>::iterator it;cout << "insert before:" ;for(it=d.begin();it!=d.end();it++) cout << *it << " ";cout << endl;d.insert(d.end(),22);d.insert(d.end(), 3,88);int a[5] = {1,2,3,4,5};d.insert(d.begin(),a,a+3);cout << "insert after:" ;for(it=d.begin();it!=d.end();it++)cout << *it << " ";cout << endl; //c.erase(pos)刪除pos位置的元素c.erase(beg,end)刪除區間為[beg,end)的元素 //c.erase(beg,end)刪除區間為[beg,end)之間的元素deque<int> d {1,2,3,4,5};d.erase(d.begin());deque<int>::iterator it;cout << "erase(pos) after:" ;for(it=d.begin();it!=d.end();it++)cout << *it << " ";cout << endl;d.erase(d.begin(), d.begin()+3);cout << "erase(beg,end) after:" ;for(it=d.begin();it!=d.end();it++)cout << *it << " ";cout << endl; //c.push_back(num)在末尾位置插入元素 //c.pop_back()刪除末尾位置的元素 //c.push_front(num)在開頭位置插入元素 //c.pop_front()刪除開頭位置的元素deque<int> d {1,2,3,4,5};d.push_back(10);deque<int>::iterator it;cout << "push_back(num):" ;for(it=d.begin();it!=d.end();it++)cout << *it << " ";cout << endl;d.pop_back();cout << "pop_back(num):" ;for(it=d.begin();it!=d.end();it++)cout << *it << " ";cout << endl; d.push_front(10);cout << "push_front(num):" ;for(it=d.begin();it!=d.end();it++)cout << *it << " ";cout << endl;d.pop_front();cout << "pop_front(num):" ;for(it=d.begin();it!=d.end();it++)cout << *it << " ";cout << endl; //c.resize(num)從新定義容器的大小deque<int> d {1,2,3,4,5};cout << "d.size():" << d.size() << endl;d.resize(d.size()+5);cout << "d.resize() after:" << d.size() <<endl;deque<int>::iterator it;cout << "resize() after:" ;for(it=d.begin();it!=d.end();it++)cout << *it << " ";cout << endl; //c1.swap(c2)交換容器c1,c2; //swap(c1,c2)同上。deque<int> d1 {1,2,3,4,5},d2,d3;d1.swap(d2);deque<int>::iterator it;cout << "d1 swap after:" ;for(it=d1.begin();it!=d1.end();it++)cout << *it << " ";cout << endl;cout << "d2 swap after:" ;for(it=d2.begin();it!=d2.end();it++)cout << *it << " ";cout << endl;swap(d3,d2);cout << "d3 swap after:" ;for(it=d3.begin();it!=d3.end();it++)cout << *it << " ";cout << endl; /*重載運算符 operator== operator!= operator< operator<= operator> operator>= */ //引自于http://www.cnblogs.com/scandy-yuan/archive/2013/01/09/2853603.html //http://blog.csdn.net/morewindows/article/details/6950917</span>

總結

以上是生活随笔為你收集整理的deque双向队列的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。