示例中的代碼使用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;
#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 <<" ";
}
}
{
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 <<" ";
}
}
結果:
