1. 程式人生 > >C++STL模板庫序列容器之deque

C++STL模板庫序列容器之deque

數組 自增 使用 lis names pre define warnings push

目錄

  • 一丶隊列容器deque簡介
  • 二丶使用代碼演示

一丶隊列容器deque簡介

deque底層跟vector一樣,都是數組維護.不同的是可以操作頭部.

二丶使用代碼演示

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#include <list>
#include <deque>
using namespace std;


int main(char *argc, char *argv[]) {
 
  deque<int> de; //deque是隊列.底層也是數組維護.可以操作頭部
  de.push_back(6);
  de.push_back(5);
  de.push_back(3); //push_back() 尾部添加數據
  de.push_front(4);//push_front()頭部添加數據

  deque<int>::iterator it = de.begin();
  //排序兩種方式
  sort(de.begin(), de.end(), less<int>()); //從小到大排序
  sort(de.begin(), de.end(), greater<int>());//從大到小排序
  while (it != de.end())
  {
    cout << *it << " ";
    it++;
  }

  //查找
  it = find(de.begin(), de.end(), 6);
  //插入
  de.insert(it, 10);
  //刪除
  de.erase(it);//內部會自增.所以it--.
  //彈出元素
  de.pop_back();
  de.pop_front();
  de.clear();
  de.empty();//判斷是否為空
  de.emplace_back();
  de.emplace_front(); //判斷頭尾.
  int a = de.front();
  a = de.back();     //獲取頭/尾數據
  cout << endl;
  cout << "--------------------------" << endl;
  getchar();
  system("pause");

}

C++STL模板庫序列容器之deque