c++ 容器vector的基本操作
在c++中,vector是一個十分有用的容器,下面對這個容器做一下總結。
1 基本操作
(1)標頭檔案#include<vector>.
(2)建立vector物件,vector<int> vec;
(3)尾部插入數字:vec.push_back(a);
(4)使用下標訪問元素,cout<<vec[0]<<endl;記住下標是從0開始的。
(5)使用迭代器訪問元素.
vector<int>::iterator it; for(it=vec.begin();it!=vec.end();it++) cout<<*it<<endl;
(6)插入元素: vec.insert(vec.begin()+i,a);在第i+1個元素前面插入a;
(7)刪除元素: vec.erase(vec.begin()+2);刪除第3個元素
vec.erase(vec.begin()+i,vec.end()+j);刪除區間[i,j-1];區間從0開始
(8)向量大小:vec.size();
(9)清空:vec.clear();
2
vector的元素不僅僅可以使int,double,string,還可以是結構體,但是要注意:結構體要定義為全域性的,否則會出錯。下面是一段簡短的程式程式碼:
#include<stdio.h> #include<algorithm> #include<vector> #include<iostream> using namespace std; typedef struct rect { int id; int length; int width;
//對於向量元素是結構體的,可在結構體內部定義比較函式,下面按照id,length,width升序排序。
bool operator< (const rect &a) const
{
if(id!=a.id)
return id<a.id;
else
{
if(length!=a.length)
return length<a.length;
else
return width<a.width;
}
} }Rect;int main() { vector<Rect> vec; Rect rect; rect.id=1; rect.length=2; rect.width=3; vec.push_back(rect); vector<Rect>::iterator it=vec.begin(); cout<<(*it).id<<' '<<(*it).length<<' '<<(*it).width<<endl; return 0; }
3 演算法
(1) 使用reverse將元素翻轉:需要標頭檔案#include<algorithm>
reverse(vec.begin(),vec.end());將元素翻轉(在vector中,如果一個函式中需要兩個迭代器,
一般後一個都不包含.)
(2)使用sort排序:需要標頭檔案#include<algorithm>,
sort(vec.begin(),vec.end());(預設是按升序排列,即從小到大).
可以通過重寫排序比較函式按照降序比較,如下:
定義排序比較函式:
bool Comp(const int &a,const int &b)
{
return a>b;
}
呼叫時:sort(vec.begin(),vec.end(),Comp),這樣就降序排序。
相關推薦
c++ 容器vector的基本操作
在c++中,vector是一個十分有用的容器,下面對這個容器做一下總結。 1 基本操作 (1)標頭檔案#include<vector>. (2)建立vector物件,vector<int> vec; (3)尾部插入數字:vec.push_b
C++/STL_中vector基本操作測試程式碼,vector.erase()使用方法
通過vector我們可以減少類裡的變數,比如一個類裡儲存了一種資料,但是不知道這種資料到底要儲存個,我們常常使用(結構體陣列/物件陣列),加一個變數來表示 記錄的數量。但是通過vector可以簡化這個
C++ vector基本操作
定義和初始化 注意所需要包含的標頭檔案 使用 using namespace std; 可以省略std #include<vector> /* 初始狀態為空 */ std::vector<typename> varname
C++ STL 容器部分有關list 連結串列容器的基本操作
#include<iostream> using namespace std; #include "list" //list模型的標頭檔案 /*總結*/ //相當於一個雙向連結串列 //1 list基本與其餘容器模型差不多類似 注意一點就是不允許隨機插
vector容器的基本操作(輸入和輸出)
#include<iostream> #include<string> #include<vector> using namespace std; int main() { string word; vector<string&
docker(三)容器的基本操作
交互 容器 輸入 clas times int cti 開標 詳細信息 下載鏡像 docker pull name 基本啟動容器 docker run IMAGE command args run 在新容器中運行 IMAGE 鏡像名稱 command 容器命令 args
跟我一起學docker(四)--容器的基本操作
mage test soft 概念 一起 終端 class 文件系統 caf 1.創建容器Docker的容器十分輕量級,用戶可以隨時創建或刪除容器。 新建容器:docker create Example:docker create –ti ubuntu說明:使用
Docker架構、鏡像及容器的基本操作
enforce 增量 http enable arc all 正在 set 下載到本地 Docker架構、鏡像及容器的基本操作 前言引導 Docker是在Linux容器裏運行應用的開源工具,是一種輕量級的虛擬機,誕生於2013年。Docker的設計宗旨:Build、Shi
C 棧的基本操作
直接上程式碼 // // main.c // 棧的操作 // // Created by 赫凱 on 2018/10/25. // Copyright © 2018 赫凱. All rights reserved. // #include <stdio.h> #
【Docker學習總結】5.Docker容器的基本操作
上一篇我們介紹了Docker的安裝和部署,本篇總結Docker安裝完畢後,我們如何進行一些基本的操作。 首先開啟我們之前安裝好docker ce的Cent OS7虛擬機器,使用“docker version”驗證docker已經安裝成功: 然後我們來學習如何操作docker容器: (1)
docker容器的基本操作
1、拉取一個官方認證的 純淨的映象(centos) docker pull centos 2、檢視有多少個映象 docker images 3、如果你要刪除某個映象 docker rmi <IMAGE ID> #IMAGE ID就是映象ID,
map關聯容器的基本操作
map<key,value>儲存的一對pair ,其內部通過紅黑樹實現,查詢效率非常高,使用者插入資料後,系統會自動根據key值大小進行排序,當然,一些自定義的類需要自定義比較函式,例如仿函式,過載< , >操作符等。 //簡單map容器初始化 void test
Docker學習筆記(三)之容器的基本操作
容器是一個打包了應用和服務的環境,是一個輕量級的虛擬機器,每一個容器都由一組應用和必要依賴的庫組成。 容器作為軟體應用的標準集裝箱,必須要定義與應用無關的介面。 這次主要學習容器的標準操作 建立容器 建立完容器後docker都會返回一個容器的ID。這
C++ 單鏈表基本操作分析與實現 連結串列 連結串列是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過連結串列中的指標連結次序實現的。連結串列由一系列結點(連結串列中每一個元素稱為結點)組成,結
連結串列 連結串列是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過連結串列中的指標連結次序實現的。連結串列由一系列結點(連結串列中每一個元素稱為結點)組成,結點可以在執行時動態生成。每個結點包括兩個部分:一個是儲存資料元素的資料域,另一個是儲存下一個結點地址的指標域。 相比於線性表
docker 基礎命令操作 映象以及容器的基本操作演示
tomcat啟動後’,可以通過頁面訪問到預設頁面,可以更加直觀的顯示出來;我們就以tomcat為例,對映象,容易的基礎操作進行演示; 1.查詢映象命令 docker search tomcat , 執行後,出現一個列表,表頭的相關資訊,看名字,可以很容易的理解,分別是
C/C++ 圖的基本操作
資料結構—圖的基本操作:新增節點、為有向圖/無向圖新增鄰接矩陣、列印鄰接矩陣、深度優先遍歷、廣度優先遍歷等。 1.demo.h主函式 1.demo.cpp #include <iostream> #include "CMap.h" using n
C++ STL string 基本操作
#include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<cctype> #include<iostream
Docker之容器的基本操作
1.1.啟動容器 docker run IMAGE [COMMAND] [ARG...] 在新容器中執行命令 1.1.1.樣例 -輸出hello world www.0001.GA@gaoxinfu MINGW64 /d/Program Files/Docker Toolb
c# sql資料庫基本操作
SqlConnection conn = DBConnection.MyConnection();//得到資料庫連線物件 /// <summary> /// 操作資料庫,執行各種SQL語句 /// </sum
C/C++——map的基本操作總結
標準庫map型別是一種以鍵-值(key-value)儲存的資料型別。以下分別從以下的幾個方面總結: map物件的定義和初始化 map物件的基本操作,主要包括新增元素,遍歷等 1、pair型別 1.1、pair型別的定義和初始化 pair型別是