1.二維vector的初始化
vector> num(n1, vector(n2));//n1是行,n2是列
2.重寫比較函式進行排序
#include bool cmp(country a, country b) //countryab是兩個物件,其中有乙個成員函式是金牌數
//在主函式中呼叫:
sort(con.begin(), con.end(), cmp);//con是儲存country多個country物件的vector,注意這裡cmp不要加引數
3.穩定排序
stable_sort(s.begin(), s.end(), cmp0)
4.查詢
vector::iterator ite=find(num.begin(), num.end(), temp);//在num中查詢temp,返回的是迭代器,把迭代器當做指標來理解吧
if (ite == num.end())//查詢失敗
cout << -1;
else
cout << ite - num.begin();//返回陣列下標
cout << *ite;//返回查詢值
5.刪除某段位置的資料
vectornums
nums.erase(nums.begin()+5,nums.end())//刪除第五個元素後序的元素
6.刪除重複元素
vectornums=;
是刪除相鄰的重複元素,所以第一步要先排序
sort(nums.begin(),nums.end());
返回的是迭代器,此時並沒有真正刪除
//它做的事情是:把沒有重複的元素複製到vector前面一段,從ite開始一直到結尾都是重複的元素
vector::iterator ite=unique(nums.begin(),nums.end());
//3.從ite開始刪除
nums.erase(ite,nums.end());
for(int a:nums)cout<7.頭部插入
vectornums;
nums.insert(nums.begin(),3,15)//在頭部插入三個15
1.接收空格輸入的字串
string s;
getline(cin,s);
cout<>n;
cin.ignore();
string s;
getline(cin,s);
2.字母小寫轉大寫
string s
s[0]=toupper(s[0]);
//s的首字母轉成了大寫
3.字串匹配 find
string s;
string p;
int k=s.find(p);//有多個匹配的話返回第乙個下標,沒有匹配則返回-1
k=t.find(p,k+1);//從k+1位置往後繼續查詢
c ,vector的 和at區別
std vector a std cout 上面輸出是0.容器初始化什麼都不做,大小為0 std vector a std couta.at 0 1 下標賦值會顯示sigsegv段錯誤,越界錯誤.at賦值會顯示terminate called after throwing an instance o...
C vector和list的區別
1.vector資料結構 vector和陣列類似,擁有一段連續的記憶體空間,並且起始位址不變。因此能高效的進行隨機訪問,時間複雜度為o 1 但因為記憶體空間是連續的,所以在進行插入和刪除操作時,會造成記憶體塊的拷貝,時間複雜度為o n 另外,當陣列中記憶體空間不夠時,會重新申請一塊記憶體空間並進行記...
C vector和list的區別
1.vector資料結構 vector和陣列類似,擁有一段連續的記憶體空間,並且起始位址不變。因此能高效的進行隨機訪問,時間複雜度為o 1 但因為記憶體空間是連續的,所以在進行插入和刪除操作時,會造成記憶體塊的拷貝,時間複雜度為o n 另外,當陣列中記憶體空間不夠時,會重新申請一塊記憶體空間並進行記...