如果你對C語言很感興趣,卻又還不是很了解C語言,那可以跟著武林技術(shù)小編一起來學(xué)習(xí),先來看看這篇深入剖析deque在c++中的使用,與君共勉,一起學(xué)習(xí)。
首先,當(dāng)考慮到內(nèi)存分配和執(zhí)行性能的時候,使用std::deque要比std::vector好。
deque和vector一樣都是標(biāo)準(zhǔn)模板庫中的內(nèi)容,deque是雙端隊列,在接口上和vector非常相似,在許多操作的地方可以直接替換。假如讀者已經(jīng)能夠有效地使用vector容器,下面提供deque的成員函數(shù)和操作,進(jìn)行對比參考。
?
| 函數(shù) | 描述 |
| c.assign(beg,end) c.assign(n,elem)? | 將[beg; end)區(qū)間中的數(shù)據(jù)賦值給c。 將n個elem的拷貝賦值給c。 |
| c.at(idx)? | 傳回索引idx所指的數(shù)據(jù),如果idx越界,拋出out_of_range。 |
| c.back()? | 傳回最后一個數(shù)據(jù),不檢查這個數(shù)據(jù)是否存在。 |
| c.begin()? | 傳回迭代器重的可一個數(shù)據(jù)。 |
| c.clear()? | 移除容器中所有數(shù)據(jù)。 |
| deque deque Deque Deque Deque c.~deque | 創(chuàng)建一個空的deque。 復(fù)制一個deque。 創(chuàng)建一個deque,含有n個數(shù)據(jù),數(shù)據(jù)均已缺省構(gòu)造產(chǎn)生。 創(chuàng)建一個含有n個elem拷貝的deque。 創(chuàng)建一個以[beg;end)區(qū)間的deque。 銷毀所有數(shù)據(jù),釋放內(nèi)存。 |
| c.empty()? | 判斷容器是否為空。 |
| c.end()? | 指向迭代器中的最后一個數(shù)據(jù)地址。 |
| c.erase(pos) c.erase(beg,end)? | 刪除pos位置的數(shù)據(jù),傳回下一個數(shù)據(jù)的位置。 刪除[beg,end)區(qū)間的數(shù)據(jù),傳回下一個數(shù)據(jù)的位置。 |
| c.front()? | 傳回地一個數(shù)據(jù)。 |
| get_allocator? | 使用構(gòu)造函數(shù)返回一個拷貝。 |
| c.insert(pos,elem)? c.insert(pos,n,elem) c.insert(pos,beg,end) | 在pos位置插入一個elem拷貝,傳回新數(shù)據(jù)位置。 在pos位置插入>n個elem數(shù)據(jù)。無返回值。 在pos位置插入在[beg,end)區(qū)間的數(shù)據(jù)。無返回值。 |
| c.max_size()? | 返回容器中最大數(shù)據(jù)的數(shù)量。 |
| c.pop_back()? | 刪除最后一個數(shù)據(jù)。 |
| c.pop_front()? | 刪除頭部數(shù)據(jù)。 |
| c.push_back(elem)? | 在尾部加入一個數(shù)據(jù)。 |
| c.push_front(elem)? | 在頭部插入一個數(shù)據(jù)。 |
| c.rbegin()? | 傳回一個逆向隊列的第一個數(shù)據(jù)。 |
| c.rend()? | 傳回一個逆向隊列的最后一個數(shù)據(jù)的下一個位置。 |
| c.resize(num)? | 重新指定隊列的長度。 |
| c.size()? | 返回容器中實際數(shù)據(jù)的個數(shù)。 |
| C1.swap(c2)? Swap(c1,c2) | 將c1和c2元素互換。 同上操作。 |
到這里,深入剖析deque在c++中的使用的介紹就算完成了。如果有什么不清楚可以留言給我。如果覺得我寫得不錯的話,請給我一個大拇指,謝謝!
新聞熱點
疑難解答