单链表
文章平均质量分 71
albert_crazyer
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
程序员面试宝典之数据结构基础---⑤单链表逆序的递归与非递归实现
#include #include using namespace std; struct ListNode { ListNode* p_Next; int p_Value; }; ListNode* Reverse_List(ListNode* pHead) { //非递归实现单链表逆序输出。 ListNode* pHead_New = NULL;原创 2012-09-29 17:06:12 · 870 阅读 · 0 评论 -
程序员面试宝典之数据结构基础----②单链表删除节点(读后)
删除节点比较简单,但要注意两种情况,是否头结点? ----细节决定成败。 本次删除借助了上篇的创建单链表,代码放在了一块,便于测试。。。。 #include #include #include using namespace std; //notice the define of struct, the node is not a variable,it is the name of原创 2012-10-02 22:13:34 · 1248 阅读 · 1 评论 -
程序员面试宝典之数据结构基础----④单链表排序(读后)
单链表的排序:排序的方法有很多种,可以根据排序时间复杂度或空间复杂度分,而对于单链表的排序,能交换的只能是相邻节点的值,这就让我想到,最好用冒泡排序。逻辑上最为简单,只需知道一个节点和他的下一个节点即可,只需一个辅助指针,排序时只是在相邻节点间互换节点值。 当然单链表的排序方法还很多,比如快速排序,只需两个节点指针,都从前往后遍历,每次都按照head节点值分开,而且效率比较高。比如选择排序也可以原创 2012-10-03 11:19:20 · 702 阅读 · 0 评论 -
程序员面试宝典之数据结构基础----单链表的逆序打印
单链表的逆序有两种方法,递归和非递归,前面已经有具体的实现,这里把单链表的逆序输出单独拿出来,因为这里用的递归方法比较巧妙,当然,可以先把单链表逆序,然后再顺序打印出,也是可以的,这里直接用递归的方法实现打印: void print_reverse_list(node* head) { assert(head); else if(head->next == NULL)原创 2012-10-03 15:54:04 · 855 阅读 · 0 评论 -
程序员面试宝典之数据结构基础-----③单链表的插入
单链表的插入,注意分三种情况,插入到头部前,插入到尾部后,其他。 仍然是细节决定成败。。。 #include #include #include using namespace std; //notice the define of struct, the node is not a variable,it is the name of the struct.so it ca原创 2012-10-02 22:33:46 · 617 阅读 · 0 评论 -
程序员面试宝典之数据结构基础----①单链表的建立、测长、打印(读后)
单链表的逆序(递归非递归),删除节点,插入,排序都很熟悉了,如果面试遇到,相信大家都能够写出来,但是,今天看到这个题目的时候,却花了一些时间来捉摸,不是难,二十有很多细节要注意:下面是程序员面试宝典书三上的代码,稍稍有点改动。#include #include #include using namespace std; //notice the define of struct, the n原创 2012-10-02 21:15:39 · 1958 阅读 · 1 评论
分享