1. 程式人生 > >c++ 容器vector的基本操作

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型別是