摘要: 循环链表:最后一个结点的指针域的指针又指回第一个结点的链表; 循环单链表与单链表的区别在于:表中最有一个节点的指针不再是NULL, 而改为指向头结点(因此要对我们原来的MyList稍作修改), 从而整个链表形成一个环. 因此, 循环单链表的判空条件不再是头结点的指针是否为空, 而是他是... 阅读全文
posted @ 2015-01-05 20:50 挨踢人啊 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 为了向 STL 致敬(O(∩_∩)O~), 我们模仿STL中的list的迭代器, 我们也自己实现一个MyList的迭代器, 以供遍历整个链表的所有元素:首先:Node节点需要做如下修改(注意后缀有+的代码)//链表节点template class Node{ friend class MyL... 阅读全文
posted @ 2015-01-05 20:44 挨踢人啊 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 链表的链接: 将第二条链表的所有内容链接到第一条链表之后, 其完整实现代码与解析如下://链表的链接template void MyList::concatenate(const MyList &list){ if (isEmpty())//如果自己的链表为空 { ... 阅读全文
posted @ 2015-01-05 20:35 挨踢人啊 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 链表简介数组的缺点: 1.元素插入:除了在数组的末尾插入元素之外,在数组的其他任何位置插入元素都需要进行数组元素的频繁移动(插入位置之后的元素都需往后移动), 时间复杂度约为O(N); 2.数组的删除:除了在数组的末尾删除元素之外,在数组的其他任何位置删除元素都需要进行数组元素的频... 阅读全文
posted @ 2015-01-05 20:31 挨踢人啊 阅读(286) 评论(0) 推荐(0) 编辑