1,list数据结构如何通过下标访问数据?
答:list不能通过下标访问。因为list是通过指针连接的。每个数据有前向指针和后向指针。因此,list支持自加(++), 和自减(- -)操作。但是,list可以通过遍历来访问第n个数据,类似vector的at(n -1).
list<int> alist;
alist.push_back(3);
alist.push_back(1);
alist.push_back(5);
alist.push_back(4);
list<int>::iterator iter = alist.begin();
for (int i=0; i<2; i++)
iter++;
cout << (*iter) << endl; //5
或者如
list<int>::iterator iter = alist.begin();
advance(iter, n - 1);