為了自己的學習和之後不定時的查詢,自己做的整理。
1、初始化
vector不能像陣列那樣直接填寫元素內容,但可以間接利用陣列初始化。
vector<
int> a ;
//宣告乙個int型向量a
vector<
int>a(
10);//宣告乙個初始大小為10的向量
vector<
int>a(
10,1)
;//宣告乙個初始大小為10且初始值都為1的向量
vector<
int>
b(a)
;//宣告並用向量a初始化向量b
vector<
int>
b(a.
begin()
, a.
begin()
+3);
//將a向量中從第0個到第2個(共3個)作為向量的初始值
//用乙個非空陣列初始化vector
int n=
; vector<
int>
a(n, n+5)
;//將陣列n的前5個元素作為向量a的初值
vector<
int>a(
&n[1],
&n[4])
;//將n[1] - n[4]範圍內的元素作為向量a的初值
注:乙個vector的初始值可以用乙個陣列或乙個其他的vector初始化。vector不能像陣列那樣初始化全部值。
2、常用操作
//基本操作
vector<
int> temp;
//此時temp為空,不包含任何元素。可用push_back(m)直接增加元素m
temp.
size()
//返回vector的大小,即元素個數
temp.
clean()
//清空向量
//刪除操作
temp.
erase
(temp.
begin()
,temp.
begin()
+3)//將向量的前3個元素刪除,刪除的是區間[temp.begin(),temp.begin()+2]的內容,注意後面的指標要超出實際的區間。end()函式也是指向量最後乙個元素的後乙個位置。
//插入操作
temp.
insert
(temp.
begin()
,m)//在 temp.begin()處插入元素m,其他的元素依次向後移動一位。
temp.
insert
(temp.
begin()
,n,m)
//在 temp.begin()處插入n個元素m,其他的元素依次向後移動一位。
temp.
insert
(temp.
begin()
,temp.
begin()
+2,m)//在 [temp.begin(),temp.begin()+1) 處插入元素m,注意區間開閉。其他的元素依次向後移動一位。
//常用操作
temp.
back()
//返回最後乙個元素
temp.
front()
//返回第乙個元素
temp.
pop_back()
//刪除最後乙個元素
temp.
push_back
(m)//在最後增加乙個元素m
3、迭代器
看成指標,同時用法和指標類似。
//定義迭代器
vector<
int>
:: iterator iter = temp.
begin()
;//定義乙個指標iter只想向量的第乙個元素位置。
int a =
*iter ;
//提取迭代器iter位置處的值。
stack<
int> sk;
//定義棧。標頭檔案需要包含 stack
//入棧
sk.push
(m);
// 和vector之類的區分,這裡用的是push(),不是push_back();
//出棧
sk.pop();
//此時只刪除棧頂元素,不反悔值。
//訪問棧頂
sk.top();
//此時返回棧頂元素;
//其他操作
sk.empty()
// 判斷是否為空
sk.size()
// 返回棧元素個數
queue<
int> q;
//定義乙個佇列
q.push
(m);
//把m加到佇列中去
q.pop()
;//把隊頭的元素刪掉。不返回值
q.size()
;//返回元素的個數
q.empty()
;//判斷是否為空,空則返回1
q.front()
;//返回佇列的頭元素,但並不刪除它
q.back()
;//返回佇列的最後乙個元素,並不刪除它
c 學習筆記一
2007 9 4 引用,該型別的變數不直接儲存所包含的值,而是指向它所要儲存的值。c 的引用型別有四種 類 代表 陣列 介面。一下 表示類b從類 a中繼承 class a class b a 類的成員有以下型別 成員常量,代表與類相關聯的常量值。域,即類中的變數。成員方法,複雜執行類中的計算和其它操...
C 學習筆記 一
c 學習筆記 一 by heiyeluren 學習 visual c 入門經典 的個人筆記。1.函式的過載 函式過載提供了建立多個同名函式的能力。我們確定乙個函式是獨一無二的方法是通過三項方法,分別是是通過返回值的型別,函式名,函式 引數等三項內容。我們函式過載主要就是使用不同的引數來確定使用那個函...
C 學習筆記一
c中的記憶體分配方式 1.靜態儲存區域 在程式開始之前就可以分配,且在程式執行過程中始終存在 2.棧 儲存單元在其上分配,單元外自動釋放,多見內建 資料型別於此 3.堆 動態分配,即程式執行時分配此部分記憶體.由使用者分配且要負責釋放.生存期由使用者決定,不受範圍限制 stdlib.h提供mallo...