迭代器訪問list中元素及創建list對象方法運用


 示例中的代碼使用std::list<type>name(first,last)方法創建了元素在指定范圍內的鏈表,first代表起始范圍,last代表結束范圍,具體的實現代碼:

  std::cout << "使用未排序存儲0-9的數組初始化list1\n" << endl;
  int array[10] = {1,3,5,7,8,9,2,4,6,0};
  list<int> list1(array,array+10);//此時傳入list1()方法的參數是兩個指針,指針范圍是[array,array+10)。所以上面所說的范圍是段地址范圍,對應數組下標范圍[0,10)。

代碼:

#include <iostream>
#include <list>
#include <vector>
using std::vector;
using std::list;
using std::cout;
using std::endl;
int main()
{
  std::cout << "使用未排序存儲0-9的數組初始化list1\n" << endl;
  int array[10] = {1,3,5,7,8,9,2,4,6,0};
  std::cout << *(array+9) << endl;
  list<int> list1(array,array+10);
  std::cout << list1.size() << '\n';
  std::cout << "list1調用sort方法排序\n" <<endl;
  list1.sort();
  list<int>::iterator iter = list1.begin();
  std::cout << *iter << "\n";
  std::cout << "通過迭代器訪問list雙向鏈表中從頭開始向后的第四個元素\n" << endl;
  for(int i = 0;i<3;i++)
  {
    iter++;
  }
  std::cout << *iter <<"\n";
  std::cout <<*( list1.end()) << '\n';
  list1.insert(list1.end(),13);
  std::cout << "在末尾插入數字13\n" << endl;
  for(auto it = list1.begin();it != list1.end();it++)
  {
    std::cout << "  " << *it <<"   ";
  }
}
結果:

 

 


免責聲明!

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



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