//list构造函数示例:
//#include <iostream>
//#include <list>
//
//int main()
//{
// // constructors used in the same order as described above:
// std::list<int> first; // empty list of ints
// std::list<int> second(4, 100); // four ints with value 100
// std::list<int> third(second.begin(), second.end()); // iterating through second
// std::list<int> fourth(third); // a copy of third
//
// // the iterator constructor can also be used to construct from arrays:
// int myints[] = { 16, 2, 77, 29 };
// std::list<int> fifth(myints, myints + sizeof(myints) / sizeof(int));
//
// std::cout << "The contents of fifth are: ";
// for (std::list<int>::iterator it = fifth.begin(); it != fifth.end(); it++)
// std::cout << *it << ' ';
//
// std::cout << '\n';
//
// return 0;
//}
// inserting()使用示例
//#include <iostream>
//#include <list>
//#include <vector>
//
//int main()
//{
// std::list<int> mylist;
// std::list<int>::iterator it;
//
// // set some initial values:
// for (int i = 1; i <= 5; ++i)
// mylist.push_back(i); // 1 2 3 4 5
//
// it = mylist.begin();
// ++it; // it points now to number 2 ^
//
// //insert插入是指定位置前面插入元素,执行插入动作以后其it所指向的元素是不变的,链表的特性表现
// mylist.insert(it, 10); // 1 10 2 3 4 5
//
// // "it" still points to number 2 ^
// mylist.insert(it, 2, 20); // 1 10 20 20 2 3 4 5
//
// --it; // it points now to the second 20 ^
//
// std::vector<int> myvector(2, 30);
// mylist.insert(it, myvector.begin(), myvector.end());
// // 1 10 20 30 30 20 2 3 4 5
// // ^
// std::cout << "mylist contains:";
// for (it = mylist.begin(); it != mylist.end(); ++it)
// std::cout << ' ' << *it;
// std::cout << '\n';
//
// return 0;
//}
#include <list>
#include <iostream>
#include <string>
using namespace std;
//Lists将元素按顺序储存在链表中. 与向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢.
typedef list<string> LISTSTR;
int main(void)
{
LISTSTR::iterator i;
LISTSTR test; // default constructor
//一般而言,end就是最后一个元素的后面一个虚拟位置,因此其实insert操作就相当于实在链表的最后面添加元素
test.insert(test.end(), "one");
test.insert(test.end(), "two");
LISTSTR test2(test); // construct from another list
// containing the value "three"
LISTSTR test3(3, "three"); // construct with three elements
LISTSTR test4(test3.begin(), test3.end()); // create from part of test3
for (i = test.begin(); i != test.end(); ++i)
cout << *i << " ";
cout << endl;
for (i = test2.begin(); i != test2.end(); ++i)
cout << *i << " ";
cout << endl;
for (i = test3.begin(); i != test3.end(); ++i)
cout << *i << " ";
cout << endl;
for (i = test4.begin(); i != test4.end(); ++i)
cout << *i << " ";
cout << endl;
return 0;
}
【c/c++】list
最新推荐文章于 2024-04-17 21:10:58 发布