C++中的list容器如何插入和刪除第i個元素


 
         

//list插入和刪除函數主要用到三個函數;
//advance(it, tem1); 將迭代器移動到指定位置
//Data.insert(it, tem2); 插入數據
//Data.erase(it); 刪除數據


1
#include <iostream> 2 #include<list> 3 using namespace std; 4 5 6 int main() 7 { 8 list<int>Data; 9 int n, q; 10 int temint; 11 int tem1, tem2; 12 Data.clear(); 13 list<int>::iterator it; 14 cin >> n >> q; 15 for (int i = 0; i < n; i++) { 16 cin >> temint; 17 Data.push_back(temint); 18 } 19 for (int i = 0; i < q; i++) { 20 it = Data.begin(); 21 cin >> temint >> tem1; 22 if (temint == 1) { //add 23 if (tem1 >= Data.size()) { 24 it = Data.end(); 25 } 26 else { 27 advance(it, tem1); 28 } 29 cin >> tem2; 30 Data.insert(it, tem2); 31 } 32 else { 33 if (tem1 > Data.size()) { 34 continue; 35 } 36 advance(it, tem1 - 1); 37 Data.erase(it); 38 } 39 } 40 for (it = Data.begin(); it != Data.end(); it++) { 41 if (it == Data.begin()) { 42 cout << *it; 43 } 44 else { 45 cout << " " << *it; 46 } 47 48 } 49 return 0; 50 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM