#include<list> #include<iostream> #include<stdio.h> using namespace std; #define OFFSET_ITERATOR(iterator, offset) {\ iterator = obj1.begin(); \ for (int i=0; i<offset; i++) \ iterator++;\ } //將intertaor移動到offset的節點上 void show_list(); list<int> obj1;//建一個空的list對像 list<int>::iterator j; list<int>::iterator k; int main(void) { for(int i=0;i<10;i++) obj1.push_front(i); show_list(); // Remove first node (pop front) obj1.pop_front(); printf(">obj1.pop_front();\n"); show_list(); // Remove node OFFSET_ITERATOR(j, 4); obj1.erase(j); printf(">obj1.erase(4); //delete node: j-1, i.e. 4\n"); show_list(); // Insert node OFFSET_ITERATOR(j, 4); obj1.insert(j, 55); printf(">obj1.insert(4, 55);\n"); show_list(); // Remove node from j to k-1, where (j, k)=(2, 4) OFFSET_ITERATOR(j, 2); OFFSET_ITERATOR(k, 4); obj1.erase(j, k); printf(">obj1.erase(2, 3); //delete node: j~k-1, i.e. 2~3\n"); show_list(); system("pause"); return 0; } void show_list() { for (j=obj1.begin(); j!=obj1.end(); j++) cout<< *j <<" "; printf("\n"); }
bloggerads
2013年10月28日 星期一
C++的Container: List使用範例
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言