【C++】deque容器

0.前言

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

1.deque構造函數

在這里插入圖片描述
在這里插入圖片描述

#include <iostream>
using namespace std;
#include <deque>//deque構造函數
void printDeque(const deque<int>& d)
{for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++){//*it = 100;  //加了const就不能再修改容器中的數據了cout << *it << " ";}cout << endl;
}void test01()
{deque<int>d1;for (int i = 0; i < 10; i++){d1.push_back(i);}printDeque(d1);deque<int>d2(d1.begin(), d1.end());printDeque(d2);deque<int>d3(10, 100);printDeque(d3);deque<int>d4(d3);printDeque(d4);
}int main() {test01();//test02();//**************************************system("pause");return 0;
}

在這里插入圖片描述

2.deque賦值操作

在這里插入圖片描述
在這里插入圖片描述

#include <iostream>
using namespace std;
#include <deque>//deque賦值操作
void printDeque(const deque<int>& d)
{for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++){//*it = 100;//加了const就不能再修改容器中的數據了cout << *it << " ";}cout << endl;
}void test01()
{deque<int>d1;for (int i = 0; i < 10; i++){d1.push_back(i);}printDeque(d1);//operator=賦值deque<int>d2;d2 = d1;printDeque(d2);//assign 賦值deque<int>d3;d3.assign(d2.begin(), d2.end());printDeque(d3);deque<int>d4;d4.assign(10, 200);printDeque(d4);
}int main() {test01();//test02();//**************************************system("pause");return 0;
}

在這里插入圖片描述

3.deque大小操作

在這里插入圖片描述
在這里插入圖片描述

#include <iostream>
using namespace std;#include<deque>
//deque 大小操作
void printDeque(const deque<int>& d)
{for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++){cout << *it << " ";}cout << endl;
}void test01()
{deque<int>d1;for (int i = 0; i < 10; i++){d1.push_back(i);}printDeque(d1);if (d1.empty()){cout << "d1為空" << endl;}else{cout << "d1不為空" << endl;cout << "d1.size = " << d1.size() << endl;//deque容器沒有容量的概念 d1.capacity() 沒有這個接口 deque是無限擴容的}//重新指定大小d1.resize(15); //擴容的默認值為0printDeque(d1);d1.resize(20, 1);printDeque(d1);d1.resize(5);printDeque(d1);
}int main() {test01();//test02();//**************************************system("pause");return 0;
}

在這里插入圖片描述

4.deque插入和刪除

在這里插入圖片描述
在這里插入圖片描述

#include <iostream>
using namespace std;#include<deque>
//deque插入和刪除
void printDeque(const deque<int>&d)
{for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++){cout << *it << " ";}cout << endl;
}//頭刪和尾刪
void test01()
{deque<int>d1;//尾插d1.push_back(10);d1.push_back(20);//頭插d1.push_front(100);d1.push_front(200);//200 100 10 20printDeque(d1);//尾刪d1.pop_back();//200 100 10printDeque(d1);//頭刪d1.pop_front();// 100 10printDeque(d1);
}//插入
void test02()
{deque<int>d1;d1.push_back(10);d1.push_back(20);d1.push_front(100);d1.push_front(200);// 200 100 10 20printDeque(d1);//insert插入d1.insert(d1.begin(), 1000);// 1000 200 100 10 20printDeque(d1);d1.insert(d1.begin(), 2, 10000);// 10000 1000 200 100 10 20printDeque(d1);deque<int>d2 = { 10,20,30 };d2.push_back(40);// d2 : 10 20 30 40d1.insert(d1.begin(), d2.begin(), d2.end()); //在指定位置插入一個區間printDeque(d1);
}//刪除和清空
void test03()
{deque<int>d1;d1.push_back(10);d1.push_back(20);d1.push_front(100);d1.push_front(200);//刪除deque<int>::iterator it = d1.begin();it++;  //用這種方式可以指定刪除哪個位置上數據d1.erase(it);//200 10 20printDeque(d1);//按區間方式刪除//d1.erase(d1.begin(),d1.end()); //結合80行代碼的方式便可以指定刪除指定區間的數據//清空d1.clear();printDeque(d1);
}int main() 
{cout << "test01: " << endl;test01();cout << endl << "test02: " << endl;test02();cout << endl << "test03: " << endl;test03();//**************************************system("pause");return 0;
}

在這里插入圖片描述

5.deque數據存取

在這里插入圖片描述
在這里插入圖片描述

#include <iostream>
using namespace std;#include <deque>
//deque數據存取
void test01() 
{deque<int>d1;d1.push_back(10);d1.push_back(20);d1.push_front(30);d1.push_front(40);//通過[]方式訪問元素for (int i = 0; i < d1.size(); i++){cout << d1[i] << " ";}cout << endl;//通過.at()方式訪問元素for (int i = 0; i < d1.size(); i++){cout << d1.at(i) << " ";}cout << endl;cout << "第一個元素:" << d1.front() << endl;cout << "最后一個元素:" << d1.back() << endl;
}
int main() 
{test01();//test02();//test03();//**************************************system("pause");return 0;
}

在這里插入圖片描述

6.deque排序

在這里插入圖片描述
在這里插入圖片描述

#include <iostream>
using namespace std;#include <deque>
#include <algorithm>
//deque排序void printDeque(const deque<int>& d)
{for (deque<int>::const_iterator it = d.begin(); it != d.end(); it++){cout << *it << " ";}cout << endl;
}//排序
void test01()
{deque<int>d1;d1.push_back(1);d1.push_back(2);d1.push_front(3);d1.push_front(4);cout << "排序前:" << endl;printDeque(d1);//排序 默認排序規則 從小到大 升序//對于支持隨機訪問的迭代器的容器,//都可以利用sort算法直接對其進行排序。//vector容器也可以利用sort進行排序sort(d1.begin(), d1.end());cout << "排序后:" << endl;printDeque(d1);}
int main() 
{test01();//test02();//test03();//**************************************system("pause");return 0;
}

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38322.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38322.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38322.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

go的gin和gorm框架實現切換身份的接口

使用go的gin和gorm框架實現切換身份的接口&#xff0c;接收前端發送的JSON對象&#xff0c;查詢數據庫并更新&#xff0c;返回前端信息 接收前端發來的JSON對象&#xff0c;包含由openid和登陸狀態組成的一個string和要切換的身份碼int型 后端接收后判斷要切換的身份是否低于該…

windows下dll文件的創建詳細教程

1、前言 dll文件是啥&#xff0c;就不作過多贅述了。現在直接教大家如何創建與使用dll文件。 本文基于windows系統&#xff0c;使用的編譯相關工具為visual studio 2019。 2、創建dll 2.1 創建dll工程 首先打開visual studio&#xff0c;然后選擇創建新項目&#xff0c;在搜…

Word(1):文章頁碼設置

1.需求 在文檔的封皮頁不設置頁碼&#xff0c;在目錄頁頁碼設置為羅馬數字&#xff0c;在正文使用阿拉伯數字。 2.解決方法 step1&#xff1a; 在封皮頁的最后&#xff0c;點擊”插入“-分隔符-分節符&#xff08;下一頁&#xff09; step2&#xff1a;在目錄頁的最后&…

【Java學習】System.Console使用

背景 在自學《Java核心技術卷1》的過程中看到了對System.Console的介紹&#xff0c;編寫下列測試代碼&#xff0c; public class ConsoleTest {public static void main(String[] args) {Console cs System.console();String name cs.readLine("AccountInfo: ");…

探討uniapp的數據緩存問題

異步就是不管保沒保存成功&#xff0c;程序都會繼續往下執行。同步是等保存成功了&#xff0c;才會執行下面的代碼。使用異步&#xff0c;性能會更好&#xff1b;而使用同步&#xff0c;數據會更安全。 1 uni.setStorage(OBJECT) 將數據存儲在本地緩存中指定的 key 中&#x…

html中文件上傳儲存到本地路徑

第一步:寫html文件 <form action"/uplode" method"post" enctype"multipart/form-data">姓名:<input type"text" name"username"><br>年齡:<input type"text" name"age"><…

Python接口自動化測試之UnitTest詳解

基本概念 UnitTest單元測試框架是受到JUnit的啟發&#xff0c;與其他語言中的主流單元測試框架有著相似的風格。其支持測試自動化&#xff0c;配置共享和關機代碼測試。支持將測試樣例聚合到測試集中&#xff0c;并將測試與報告框架獨立。 它分為四個部分test fixture、TestC…

電腦提示數據錯誤循環冗余檢查怎么辦?

有些時候&#xff0c;我們嘗試在磁盤上創建分區或清理硬盤時&#xff0c;還可能會遇到這個問題&#xff1a;數據錯誤循環冗余檢查。這是如何導致的呢&#xff1f;我們又該如何解決這個問題呢&#xff1f;下面我們就來了解一下。 導致冗余檢查錯誤的原因有哪些&#xff1f; 數據…

應急響應-釣魚郵件的處理思路溯源及其反制

0x00 釣魚郵件的危害 1.竊取用戶敏感信息&#xff0c;制作虛假網址&#xff0c;誘導用戶輸入敏感的賬戶信息后記錄 2.攜帶病毒木馬程序&#xff0c;誘導安裝&#xff0c;使電腦中病毒木馬等 3.挖礦病毒的傳輸&#xff0c;勒索病毒的傳輸等等 0x01 有指紋的釣魚郵件的溯源處理…

nodejs+vue+elementui社區流浪貓狗救助救援網站_4a4i2

基于此背景&#xff0c;本研究結合管理員即時發布流浪貓狗救助救援信息與用戶的需求&#xff0c;設計并實現了流浪貓狗救助救援網站。系統采用B/S架構&#xff0c;java語言作為主要開發語言&#xff0c;MySQL技術創建和管理數據庫。系統主要分為管理員和用戶兩大功能模塊。通過…

vue 控件的四個角設置 父視圖position:relative

父視圖relative&#xff0c;子視圖 absolute <div class"bg1"> <i class"topL"></i> <i class"topR"></i> <i class"bottomL"></i> <i class"bottomR"></i> <di…

網絡編程555

上傳代碼 #include <stdio.h>//客戶端 #include <string.h> #include <stdlib.h> #include<sys/types.h> #include<sys/socket.h> #include<arpa/inet.h> #include<head.h> #define PORT 69 #define IP "192.168.124.57"…

python之列表推導式

列表推導式是一種簡潔的方式來創建列表。它允許您通過在單個表達式中定義循環和條件邏輯&#xff0c;以一種更緊湊的方式生成新的列表。使用列表推導式可以使代碼更簡潔&#xff0c;易于閱讀&#xff0c;并且通常比傳統的迭代方法更快。 列表推導式的一般語法形式為&#xff1a…

excel填數據轉json格式

定制化比較嚴重&#xff0c;按需更改 excel文件如下 代碼 # -*- coding: utf-8 -*- import oss2 import shutil import sys import xlwt import xlrd import json from datetime import datetime, timedeltafile1 "C:\\Users\\cxy\\Desktop\\generate.xls" #打開表…

使用phpunit進行單元測試

使用phpunit進行單元測試 本教程假定您使用 PHP 8.1 或 PHP 8.2。您將學習如何編寫簡單的單元測試以及如何下載和運行 PHPUnit. PHPUnit 10 的文檔 在這。 下載&#xff1a;可以用以下2種方法之一&#xff1a; 1.PHP 存檔 (PHAR) 我們分發了一個 PHP存檔&#xff08;PHAR&…

MySQL8的下載與安裝-MySQL8知識詳解

本文的內容是mysql8的下載與安裝。主要講的是兩點&#xff1a;從官方網站下載MySQL8安裝和從集成環境安裝MySQL8。 一、從官方網站下載MySQL8.0安裝 MySQL8.0官方下載地址是&#xff1a;&#xff08;見圖&#xff09; 官方正式版的最新版本是8.0.34&#xff0c;也推出了創新版…

Kafka第三課

Flume 由三部分 Source Channel Sink 可以通過配置攔截器和Channel選擇器,來實現對數據的分流, 可以通過對channel的2個存儲容量的的設置,來實現對流速的控制 Kafka 同樣由三大部分組成 生產者 服務器 消費者 生產者負責發送數據給服務器 服務器存儲數據 消費者通過從服務器取…

【C++11保姆級教程】auto和decltype

文章目錄 前言總結一、auto1.初識auto關鍵字 2.auto使用二、decltype1.初識decltype2.使用decltype 總結 前言 在C11中引入了一些新的關鍵字和特性&#xff0c;其中包括auto和decltype。這兩個關鍵字提供了更方便、更靈活的類型推斷機制&#xff0c;使得代碼編寫更加簡潔和可讀…

shell 命令 tee {..}定義循環體

tee & {..}定義循環體 tee{..} 循環體 tee 作用&#xff1a;將標準輸出流內容復制文件中&#xff0c;同時控制臺信息依然會顯示。 > 和 >> 直接將標準輸出流內容重定向&#xff0c;從而導致控制臺無法看到輸出內容。 可選參數 -a &#xff1a;追加內容&#xff1…

CSS3中的var()函數

目錄 定義&#xff1a; 語法&#xff1a; 用法&#xff1a; 定義&#xff1a; var()函數是一個 CSS 函數用于插入自定義屬性&#xff08;有時也被稱為“CSS 變量”&#xff09;的值 語法&#xff1a; var(custom-property-name, value) 函數的第一個參數是要替換的自定義屬性…