vector的用法小結

2021-07-11 22:49:06 字數 2007 閱讀 2534

#include#include using namespace std;

int main()

; //令i依次為ivec中的每乙個元素,並顯示

for(auto i : ivec)

cout << i << " ";

cout << endl;

//新增元素到ivec尾端

for(int i=11;i<=20;i++)

ivec.push_back(i);

//令i依次等於ivec中的每乙個元素

for(auto &i : ivec)

i *= i;

//令i依次等於ivec中的每乙個元素

for(auto i : ivec)

cout << i << " ";

cout << endl;

//依然可以用下標去訪問每乙個元素

//也可寫為for(decltype(ivec.size()) i=0;i!=20;i++)

for(int i = 0;i<20;i++)

cout << ivec[i] << " ";

cout << endl;

//.size()方法,顯示擁有元素的個數

//.empty()方法,判空

cout << "ivec中有元素" << ivec.size() << "個。" << endl;

//關於迭代器,用到再說。。。。

}

從尾到頭列印鍊錶

輸入乙個鍊錶,從尾到頭列印鍊錶每個節點的值。 

輸入描述:

輸入為鍊錶的表頭

輸出描述:

輸出為需要列印的「新鍊錶」的表頭

我的**

/**

* struct listnode

* };

*/class solution

vectorresult2;

for(auto i = result.end()-1;i!=result.begin()-1;i--)

result2.push_back(*i);

return result2;

}};

抄的別人的

/**

*  struct listnode

*  };

*/class solution

return result;

}};

先用棧(這裡用的deque 雙端佇列,比棧更強大),再轉到vector 實現。

/**

*  struct listnode

*  };

*/class solution

vectorresult2;

result2.assign(result.begin(),result.end());

return result2;

}};

用兩個棧實現佇列

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。

class solution

int pop()

a = stack2.top(); //起初,到這裡就結束了,始終通不過,,連return都忘了啊啊啊啊!!!!邏輯很重要。

stack2.pop();

return a;

}else

}private:

stackstack1;

stackstack2;

};

直接用的別人的思路

《分析》:

入隊:將元素進棧a

出隊:判斷棧b是否為空,如果為空,則將棧a中所有元素pop,並push進棧b,棧b出棧;

如果不為空,棧b直接出棧。

結果 有乙個點困了好久  見**。

vector操作小結

前面了解了一下vector,現在我們來看看vector的相關操作。int main vectorv5 vectorv6 3 只提供數量而略去初始值,int 0,string 空串 vector iterator it push back向vector物件中新增元素 for int i 0 i 10 ...

vector的高階用法

這裡主要介紹vector的元素訪問方法,迭代器相關函式,元素查詢和搜尋,字串排序,插入元素,刪除元素,交換元素等內容。1 元素訪問方法 按c和c 的慣例,第乙個元素的下標為0 最後乙個元素的索引下標為size 1,即第n個元素的下標為n 1。可以直接訪問vector型容器中元素的操作方法主要包括 a...

容器vector 的用法

vector 是向量型別,它可以容納許多態別的資料,如若干個整數,所以稱其為容器。vector 是c stl的乙個重要成員,使用它時需要包含標頭檔案 include 一 vector 的初始化 可以有五種方式,舉例說明如下 1 vectora 10 定義了10個整型元素的向量 尖括號中為元素型別名,...