链表的迭代器(C++)
-
STL中的链表
#include < list >
-
我们自己设计的链表迭代器
template<class Type> class ListIterrator{ public: Boolean NotNull(); Boolean NextNotNull(); Type* First(); Type* Next(); };
完整代码
// linked_list_2.0.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
#include <iostream>
#include <list> //C++ STL中的链表
#include "list.h" //我们自己做的链表
using namespace std;
int main()
{
cout << "这是标准C++ STL中的链表和迭代器:" << endl;
list<int> listIntegers;
listIntegers.push_front(5); //在链表前面增加数据
listIntegers.push_front(15);
listIntegers.push_front(25);
listIntegers.push_front(35);
list<int>::iterator i = listIntegers.begin();
cout << *i << "->";
while (i != listIntegers.end()) {
cout << *i << "->";
++i;
}
cout << endl;
cout << "这是自己编写的链表和迭代器:" << endl;
List<int> intlist; //创建一个int型的新链表类
intlist.Insert(5);
intlist.Insert(15);
intlist.Insert(25);
intlist.Insert(35);
intlist.show();
intlist.Invert();
ListIterator<int> li(intlist)