deque双端队列

xiaoxiao2022-06-11  43

deque
1 生成构造
// constructing deques #include <iostream> #include <deque> int main () { unsigned int i; // constructors used in the same order as described above: std::deque<int> first; // empty deque of ints std::deque<int> second (4,100); // four ints with value 100 std::deque<int> third (second.begin(),second.end()); // iterating through second std::deque<int> fourth (third); // a copy of third // the iterator constructor can be used to copy arrays: int myints[] = {16,2,77,29}; std::deque<int> fifth (myints, myints + sizeof(myints) / sizeof(int) );//fifth={16,2,77,29} std::deque<int> first (3); // deque with 3 zero-initialized ints std::deque<int> second (5); // deque with 5 zero-initialized ints first=second; //first size is 5 return 0; }
2 操作
2.1 大小和容量
/* * deque 双向队列,链式存储,相对于vector不能使用的函数有capacity(),reverse() * 但是可以在前端面进行插入push_font() */ #include <iostream> #include <deque> int main () { std::deque<int> mydeque(5,1); //capacity mydeque.size(); //size is 5 mydeque.resize(4); //size is 8 mydeque.empty(); //return 0 mydeque.shrink_to_fit(); return 0; }
2.2 比较
2.3 find
2.4 截取部分
2.5 增,插,删,改
/* * modify element * assign() push_back() push_front() * pop_back() pop_front() insert() * erase() swap() clear() */ #include <iostream> #include <deque> int main () { std::deque<int> mydeque(5,1); //modify element mydeque.assign(3,2); //mydeque={2,2,2} mydeque.push_back(1); //mydeque={2,2,2,1} mydeque.push_front(1); //mydeque={1,2,2,2,1} mydeque.pop_back(); //mydeque={1,2,2,2} mydeque.pop_front(); //mydeque={2,2,2} mydeque.insert(mydeque.begin(),6); //mydeque={6,2,2,2} int ints[]={9,5,2,7}; mydeque.insert(mydeque.cbegin()+4,ints,ints+4); //mydeque={6,2,2,2,9,5,2,7} mydeque.erase(mydeque.cbegin()); //mydeque={2,2,2,9,5,2,7} mydeque.erase(mydeque.cbegin()+3,mydeque.cend()); //mydeque={2,2,2} mydeque.clear(); //mydeque={} std::deque<int> mydeque2(4,1); mydeque.swap(mydeque2); //mydeuqe size is 4 return 0; }
2.6 element access
/* * elemen access *operator[] at() back() front() */ #include <iostream> #include <deque> int main () { std::deque<int> mydeque(5,1); //element access int integer1=mydeque[1]; integer1=mydeque.at(1); integer1=mydeque.back(); integer1=mydeque.front(); return 0; }
转载请注明原文地址: https://www.6miu.com/read-4931338.html

最新回复(0)