【题目】输入一个链表,反转链表后,输出链表的所有元素。 【思路】将当前指针指向前者即为反转,反转是同时反转指针和赋值操作。即将指针指向前者并给前者赋值。反转后的头结点就是原链表的尾 结点。代码如下: ...
                            
                            
                                分类:
其他好文   时间:
2016-04-20 13:11:26   
                                阅读次数:
106
                             
                    
                        
                            
                            
                                广义表是我第一次用递归接触链式的数据结构,其结构如下:HEAD->VAL->VAL->LINK(->HEAD.....)->VAL->......在这里,我们的头结点与link节点是不存储数据的,由此我们便可以定义出节点的数据结构:typedefintDataType;
enumNodeType//枚举类型定义节点类型
{
..
                            
                            
                                分类:
编程语言   时间:
2016-04-20 02:10:36   
                                阅读次数:
284
                             
                    
                        
                            
                            
                                对于单链表,由于每个结点只存储了向后的指针。到了尾标志就停止了向后链的操作,这样,当中某一结点就无法找到它的前驱结点了。 
对于单链表的操作大家可以看我的这篇博客http://blog.csdn.net/zxnsirius/article/details/51183055我们将单链表中终端结点的指针端由空指针改为指向头结点,就使整个单链表形成了一个环,这种头尾相接的单链表称为单循环链表,简称循环链表...
                            
                            
                                分类:
编程语言   时间:
2016-04-19 19:41:59   
                                阅读次数:
257
                             
                    
                        
                            
                            
                                说明:严蔚敏的《数据结构》(C语言版)学习笔记,记录一下,以备后面查看。 部分说明: 1、第i个元素之前插入元素 如上图所示,假如现在有4个元素,那么有四个可选插入位置(①②③④): 让p先指向头结点,我们需要找到第i-1个结点,也就是需要插入位置的前一个结点,比如我们要插入到i=3,那么需要找到2 ...
                            
                            
                                分类:
其他好文   时间:
2016-04-19 13:58:47   
                                阅读次数:
167
                             
                    
                        
                            
                            
                                    输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序序列和中序序列的结果都不含重复的数字,例如输入前序序列{1,2,4,7,3,5,6,8}和中序序列{4,7,2,1,5,3,8,6},则重建树并输出它的头结点,二叉树的头结点定义如下: struct BinaryTreeNode ...
                            
                            
                                分类:
其他好文   时间:
2016-04-17 22:23:31   
                                阅读次数:
138
                             
                    
                        
                            
                            
                                    输入一个链表的头结点,从尾到头反过来打印每个结点的值。 链表的节点定义如下: struct ListNode{ int value; ListNode* next; } 首先回顾一下链表的基本操作 链表的后插入: //注意,传入的参数是指向指针的指针,而不是ListNode* phead,因为代码中 ...
                            
                            
                                分类:
其他好文   时间:
2016-04-17 06:14:32   
                                阅读次数:
174
                             
                    
                        
                            
                            
                                    单链表的结构有多种 这里介绍的链表有头结点、有尾节点并且尾节点指向头结点 单链表的每个结点的地址存放在其直接前驱结点的指针域中。其中第一个结点没有前驱结点,因此需要一个头指针指向第一个节点,便于我们对整个链表进行操作;这里的单链表的最后一个节点的指针域存放的是头结点的地址。 单链表不能随意存取,必要 ...
                            
                            
                                分类:
编程语言   时间:
2016-04-15 20:18:27   
                                阅读次数:
196
                             
                    
                        
                            
                            
                                这次实现的是带头结点的单链表的初始化、遍历、创建、插入、删除、判断链表是否为空、求链表长度函数,编译环境是vs2013。 其中插入和删除函数中循环的条件目前还不太明白。 ...
                            
                            
                                分类:
编程语言   时间:
2016-04-12 23:55:39   
                                阅读次数:
277
                             
                    
                        
                            
                            
                                LinkedList实现List接口,并且实现了接口中的所有方法,这个操作可以作为一个栈来使用,同时也实现Deque接口,实现了add,poll方法可以为一个队列。内部是使用带头结点的循环双向链表。
结构如下图:
类的继承实现关系
内部类Entry的结构
部分方法源码剖析
add(E e)
添加一个元素的过程。
getFirst()...
                            
                            
                                分类:
其他好文   时间:
2016-04-11 14:31:25   
                                阅读次数:
120
                             
                    
                        
                            
                            
                                单链表:1、逻辑上连续,位置上可以不连续的存储方式。2、单链表由无数个结点组成,每个结点由数据段和指针域组成,数据段存储数据,指针域存储后继的地址。3、每个结点最多有一个前继和一个后继。4、其中第一个结点没有前继,所以我们通常建立一个头结点来保存他的位置,其中..
                            
                            
                                分类:
其他好文   时间:
2016-04-09 17:11:55   
                                阅读次数:
217