QT中迭代器的原理
来源:互联网 发布:六间房直播软件好用吗 编辑:程序博客网 时间:2024/05/26 20:22
按照自己的理解自己写的关于迭代器原理基本功能实现代码!不足之处请大家多多指教!
#include <iostream>#define MAX 10using namespace std;/*节点类*/class Node{public: int data; Node *next; };/*迭代器类*/class Iterator{public: Iterator():ptr(NULL){} Iterator(Node *node):ptr(node){} int operator *() { return ptr->data; } Iterator & operator ++() { ptr = ptr->next; return *this; } Iterator & operator ++(int) { Iterator *temp = NULL; temp = this; ptr = ptr->next; return *temp; } Node *get_ptr() { return ptr; } private: Node *ptr; };/*链表类*/class Link{public: Link(Node *node = NULL):head(NULL){} void creat_link(); /*创建链表*/ void print(); /*打印链表*/ void free(); /*释放链表*/ /*得到链表头指针*/ Node *getHead() { return head; }private: Node *head; };void Link::creat_link(){ Node *temp = NULL; Node *last = NULL; int i = 0; /*尾插法循环创建链表*/ for (i = 0; i < MAX; i++) { temp = new Node; if (NULL == temp) { cout << "get space failed" << endl; } temp->data = i; temp->next = NULL; if (NULL == head) { head = last = temp; } else { last->next = temp; last = temp; } }}void Link::print(){ Node *temp = head; while (temp != NULL) { cout << "data:" << temp->data << endl; temp = temp->next; }}void Link::free(){ Node *temp = head; while (head != temp) { head = head->next; delete temp; temp = head; } }Iterator find_iterator(Iterator temp, int value){ Iterator it; for (it = temp; it.get_ptr() != NULL; it++) { if (*it == value) { return it; } }}int main(int argc, char *argv[]){ Link a; a.creat_link(); Iterator i(a.getHead()); for (; i.get_ptr() != NULL; i++) { cout << *i << endl; } a.free(); return 0;}
- QT中迭代器的原理
- QT 012 [深入] Qt setupUi函数的原理和实现
- QT的信号与槽原理(经典)
- 剖析Qt的事件机制原理
- QT的信号与槽原理(经典)
- QT的信号与槽原理
- Qt的signal/slot机制原理
- QT的信号与槽原理(经典)
- QT---项目的构成及原理
- Qt中信号槽的原理
- <Qt>事件的幕后运作原理
- Qt的signal/slot机制的原理和使用
- ListView 原理的介绍 qt也可以吧想通的Android
- QT中关于信号与槽机制的实现原理
- QT中关于信号与槽机制的实现原理
- QT中关于信号与槽机制的实现原理
- QT中关于信号与槽机制的实现原理
- QT中关于信号与槽机制的实现原理
- NavigationController导航栏中添加多个UIBarButtonItem
- 静态成员函数和数据成员
- solaris10添加一块硬盘并分区
- Java 判断程序运行次数---- Properties 文件计数器
- 常用正则表达式
- QT中迭代器的原理
- 数值范围
- js手册学习--Document 对象
- java判断字符串内容类型
- (续)flex读取本地文件XML
- 爱我的人和我爱的人
- IIS优化
- 1042 N!(java)
- Android之Activity