码迷,mamicode.com
首页 >  
搜索关键字:头结点    ( 1033个结果
【剑指offer】从尾到头打印链表
题目描述: 输入一个链表的头结点,从尾到头反过来打印出每个结点的值。链表结点定义如下: struct ListNode{ int m_nKey; ListNode *m_pNext; }; 分析描述: 对于链表,如果是从头到尾的打印出链表是比较容易,但如果是从尾到头返过来打印每个结点的值就比较复杂。反序输出就是第一个遍历到的结点最后一个输出,而最后一个遍历的结点第一个输出。...
分类:其他好文   时间:2014-07-01 10:59:13    阅读次数:163
图的存储形式——邻接表
邻接表:邻接表是图的一种链式存储结构。在邻接表中,对图中每个顶点建立一个单链表,第i个单链表中的节点表示依附于顶点vi的边(对有向图是以顶点vi为尾的弧)。每个结点有三个域组成,其中邻接点域指示与顶点vi邻接的点在途中的位置,链域指示下一条边或者弧的结点;数据域存储和边或者弧相关的信息,如权值等。每个链表上附设一个表头结点。在表头结点中,除了设置链域指向链表第一个结点之外,还设置有存储顶点vi的名...
分类:其他好文   时间:2014-06-27 10:30:19    阅读次数:277
单链表插入排序
输入:一个无序的单链表的头结点输出:一个有序的单链表的头结点(这里假设是升序排序)分析:1. 插入排序的基本思想:将一个节点插入到一个有序的序列中。对于链表而言,要依次从待排序的链表中取出一个节点插入到已经排好序的链表中,也就是说,在单链表插入排序的过程中,原链表会截断成两部分,一部分是原链表中已经...
分类:其他好文   时间:2014-06-22 23:26:37    阅读次数:199
有序链表的插入操作
C语言教材的有序单链表程序的插入我并不满意,因为链表为空,表尾等原因导致有四种情况要处理,给同学们的阅读造成困难。书上的做法较复杂的一个原因是链表是不带头结点的,所以要考虑新结点插入时会不会变成表头,例如:当链表为空时, 插入3, 3变成表头, 再插入1, 链表为1->3, 链表头指向1, 代码必须...
分类:其他好文   时间:2014-06-18 00:16:02    阅读次数:181
【27】链表反转
题目:给定一个单链表的头结点要求反转该链表并要求不能改变更改链表的结构分析:1. 假设一个链表如下    headNode -> node1 -> node2 -> node3 -> node4 -> NULL2. 则反转完这个链表之后,希望得到如下链表    NULL 3. 此时链表的头结点变成了node4,我们可以枚举整个链表,对每一个结点我们保存下前面一个结点和下面一个结点,然后更改结点内部...
分类:其他好文   时间:2014-06-15 18:39:28    阅读次数:182
每天一个小算法(4)----在O(1)时间删除指定结点
O(1)时间内删除结点的思路只能是复制该结点下一个结点的数据,然后删除该结点的下一个结点,来等效删除此结点。需要注意的地方是删除头结点和尾结点的处理。 1 #include 2 #include 3 #include 4 typedef struct Node 5 { 6 int da...
分类:其他好文   时间:2014-06-15 17:05:10    阅读次数:107
二叉树的镜像
题目:完成一个函数,输入一个二叉树,该函数输出它的镜像 分析:何为镜像? 首先我们先去遍历头结点,如果不为空,那么我们就要继续遍历其左子树和右子树,如果不为空就进行一个交换,这里要说明的是:树的根节点与其左右子树之间是采用指针的形式进行一个连接的,也就是你交换了左右子树(比如 10 6),但是子树(...
分类:其他好文   时间:2014-06-10 20:40:06    阅读次数:286
[LeetCode] Insertion Sort List
Sort a linked list using insertion sort.对于指针链表类题,分析时一定要用笔先清晰画出来,每个指针对应那些结点。对比:(1)插入排序的顺序表实现,是对temp从参考点temp往前与一个个元素比较,(2)插入排序的链表实现,是对temp从头结点开始往后与一个个元素...
分类:其他好文   时间:2014-06-09 17:27:30    阅读次数:187
不带头结点的单链表递归删除元素为X的结点
#include using namespace std;struct Node{ Node *next; int elem;};void creatList(Node* &head){ head = new Node; int elem; cin>>elem; ...
分类:其他好文   时间:2014-06-09 16:07:55    阅读次数:229
O(1)时间删除链表的已知结点
这题并不需要从头结点遍历到已知结点,只需要知道已知结点,将改结点下一个结点赋值给它,再删除这个下一个结点就行,其中还需要考虑各种情况。1)链表为空或者已知结点为空2)链表只有一个结点,这个结点就是要删除的已知结点3)要删除的已知结点在链表的末尾,此时就不能将下一个结点复制过去,我们就需要采用传统方法...
分类:其他好文   时间:2014-06-09 13:16:04    阅读次数:176
1033条   上一页 1 ... 100 101 102 103 104 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!