開始學習c++,再這個過程中第乙個令人頭疼的地方就是標頭檔案的含義了,c++標頭檔案的內容會隨著我的深入學習進行更新.
首先,我們需要該清楚vector的定義: c++標準庫提供了被封裝的動態陣列——vector。大體上講,就是更容易上手的動態陣列.讓我們看看vector的優缺點.
優點:1). vector可以存放任意型別的資料
2). 容量可以自動擴充套件
3). 初始化形式簡單,多樣
4). 可以插入或刪除元素
5). 可以獲取陣列的長度(是否為空)
6). 也是通過下標來訪問的
7). 能夠一下清除所有資料
8). 強制調整陣列元素的個數以及數值
9). 將陣列的容量進行人為的擴大
10). 將兩個vector陣列的值進行整體**換
缺點: vector的操作簡單,容易上手,是陣列的"公升級版",但是vector的每次自動擴容都是增加當前空間的50%(第一次除外);會消耗大量的空間與時間,所以小資料使用vector還是很高效的.
**如下(示例):
**如下(示例):#include
using namespace std;
3.1 通過位址訪問//1. 直接賦值
vector a1 ; //一維
vector > a2 ,};//二維
//2. 不帶引數構造
vector a1;//空的陣列,長度為0(size()為0)可以用push_back(elem)輸入元素
//3. 帶引數構造
vector a2(10); //10個資料全為0
vector a3(10,1);//10個資料全為1
//4. 通過同型別的vector初始化
vector a1(5,1);
vector a2(a1); //通過a1來初始化a2
**如下(示例):
///通過位址訪問
vector<
int> a1
;//一維
vector<
int>
::iterator k=a1.
begin()
;//返回第乙個元素的位址
cout<<
*k
cout<<
*(k+1)
vector<
int>
::iterator k=a1.
end();
cout<<
*(k-1)
3.2 通過下標訪問
**如下(示例):
///通過下標訪問
vectora1 ; //一維
cout<4.1 插入,刪除(棧頂)
**如下(示例):
///新增,刪除
a.pop_back()
;//刪除最後乙個元素
a.push_back
(elem)
;//在尾部新增乙個元素
4.2 特定位置插入刪除
**如下(示例):
///特定位置插入刪除
vectora1 ; //一維
vector::iterator k=a1.begin();//下標從0開始
a1.insert(k+1,9); //a1=
a1.erase(k+1); //a1=
**如下(示例):
///獲取長度或者判斷陣列是否為空
vector<
int> a1
;//一維
cout
cout
**如下(示例):
///返回可用總元素
a.capacity(); //返回a在記憶體中總共可以容納的元素個數
///強制調整元素個數以及數值
a.resize(10); //將a的現有元素個數調至10個,多則刪,少則補,其值隨機
a.resize(10,2); //將a的現有元素個數調至10個,多則刪,少則補,其值為2
///將陣列擴容
a.reserve(100); //將a的容量(capacity)擴充至100,也就是說現在測試a.capacity();的時候返回值是100.這種操作只有在需要給a新增大量資料的時候才 顯得有意義,因為這將避免記憶體多次容量擴充操作(當a的容量不足時電腦會自動擴容,當然這必然降低效能)
///將vector陣列a,b的元素進行整體交換
a.swap(b); //b為向量,將a中的元素和b中的元素進行整體**換
**如下(示例):
#include
(1)sort
( a.
begin()
, a.
end())
;//對a中的從a.begin()(包括它)到a.end()(不包括它)的元素進行從小到大排列
(2)reverse
(a.begin()
,a.end()
);//對a中的從a.begin()(包括它)到a.end()(不包括它)的元素倒置,但不排列,如a中元素為1,3,2,4,倒置後為4,2,3,1
(3)copy
(a.begin()
,a.end()
,b.begin()
+1);
//把a中的從a.begin()(包括它)到a.end()(不包括它)的元素複製到b中,從b.begin()+1的位置(包括它)開始複製,覆蓋掉原有元素
(4)find
(a.begin()
,a.end()
,10);
//在a中的從a.begin()(包括它)到a.end()(不包括它)的元素中查詢10,若存在返回其在向量中的位置
C 標頭檔案之 limits h
c標頭檔案 limits.h 中定義了各種變數型別的屬性。char bit 8定義乙個位元組的位元數。schar min 128 定義乙個有符號字元的最小值。schar max 127定義乙個有符號字元的最大值。uchar max 255定義乙個無符號字元的最大值。char min 0定義型別 ch...
C 標頭檔案與C標頭檔案
include 設定插入點 include 字元處理 include 定義錯誤碼 include 浮點數處理 include 檔案輸入 輸出 include 引數化輸入 輸出 include 資料流輸入 輸出 include 定義各種資料型別最值常量 include 定義本地化函式 include ...
C語言標頭檔案之float h
float.h中的符號常量 float.h與limits.h一樣是定義邊界值的,float.h定義的是浮點數的邊界值 double dbl dig double小數點後面精確的位數 dbl epsilon 小的正數,double的0跨度值 dbl mant dig 尾數中的位數 dbl max 最大...