程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++之路起航——標准模板庫(vector),起航vector

C++之路起航——標准模板庫(vector),起航vector

編輯:C++入門知識

C++之路起航——標准模板庫(vector),起航vector


  vector(動態數組或向量):動態分配內存空間的線性儲存結構。  

     需要包括頭文件<vector>

    定義:

        vector<數據類型> 變量名;

        Eg:

             vector<int> s; //定義了一個數據類型為整形的動態數組;

      基本操作(紅色標識為常用操作):   

  s[i]直接以下標方式訪問容器中的元素。
  s.front()  返回首元素。
  s.back()  返回尾元素。  
  s.push_back(x)向表尾插入元素x。
  s.size()  返回表長。 
  s.empty()  當表空時,返回真,否則返回假。
  s.pop_back() 刪除表尾元素。
  s.begin()  返回指向首元素的隨機存取迭代器。
  s.end()   返回指向尾元素的下一個位置的隨機存取迭代器。
  s.insert(it, x) 向迭代器it 指向的元素前插入新元素x。
  s.insert(it, n, x)向迭代器it 指向的元素前插入n 個x。
  s.insert(it, first, last)將由迭代器first 和last 所指定的序列[first, last)插入到迭代器it 指向的元素前面。 
  s.erase(it)刪除由迭代器it 所指向的元素。
  s.erase(first, last)刪除由迭代器first 和last 所指定的序列[first, last)。    
  s.clear()刪除容器中的所有的元素。
  s.swap(v)將s 與另一個vector 對象v 進行交換。

     代碼解釋:      

#include<vector>
#include<iostream>

using namespace std;

vector <int> a;//定義整型動態數組a;
int main()
  {
   a.push_back(1);//在表末壓入數字1;
   a.push_back(2);
   a.push_back(3);
   cout<<*a.end()<<endl;//用於解釋迭代器所指向的為表末元素的下一個儲存位置;
    vector <int> ::iterator itor=a.begin();//迭代器只了解即可,藍色標識部分為迭代器的類型,為整型動態數組的迭代器ator,初始位置為a.begin();
   for (;itor!=a.end();itor++)//用迭代器來遍歷表中的所有元素;
     cout<<*itor<<endl;//迭代器類似於指針,需要用*運算來取得其內容;
   for (int i=0;i<a.size();i++)
   cout<<a[i]<<endl; //利用下標法來遍歷表中所有元素;
   a.pop_back();//刪除表末最後一個元素;3 out
   cout<<*(a.end()-1)<<endl;//輸出表末最後一個元素,這時輸出的是2;
   return 0;
  }

//若看不太懂,推薦C++遠征之模板篇第六章 標准模板類。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved