Vector中的 insert()和 erase()的使用
學習C++中的筆記:
insert(iterator, type_define)表示在iterator所指向的位置插入資料,同時之前在iterator中的資料被推到後面的位置。不是覆蓋。
erase(iterator)表示刪除當前iterator指向的資料,同時後面的資料自動前移。不會出現空的Node。
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
#include <iostream>
#include <stdio.h>
#include <string>
#include <vector>
using namespace std;
int main()
{
vector<string> param0;
param0.push_back("XYZ366");
param0.push_back("MAT999");
param0.push_back("MECT666");
vector<string>::iterator itePara;
itePara=param0.begin();
cout<<*itePara<<endl;
param0.insert(itePara+1,"NewOne");
for(itePara=param0.begin();itePara!=param0.end();itePara++)
{
cout<<*itePara<<endl;
}
cout<<"............................"<<endl;
param0.erase(param0.begin());
for(itePara=param0.begin();itePara!=param0.end();itePara++)
{
cout<<*itePara<<endl;
}
return 0;
}
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
輸出的結果是:
XYZ366:
XYZ366:
NewOne
MAT999:
MECT666:
............................
NewOne
MAT999:
MECT666: