堆排序的实现(联发科子公司创发科技笔试)及判断单向链表的环...
分类:
其他好文 时间:
2014-09-26 20:28:08
阅读次数:
153
这里的交叉链表,是Y型交叉链表。话不多说,上代码:首先定义一些用到的宏和链表节点,这里使用最简单的单向链表1 #define ARRAY_SIZE(a) sizeof((a)) / sizeof((a)[0])2 #define ABS(a) (a) > 0 ? (a) ...
分类:
其他好文 时间:
2014-09-19 11:56:55
阅读次数:
259
实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。示例输入:单向链表a->b->c->d->e中的结点c。结果:不返回任何数据,但该链表变为:a->b->d->e。分析:因为无法访问待删除结点的前继结点,所以只能通过复制将后续链表整体向前移动一个位置,并删除最后一个多余的结点。显然,当...
分类:
其他好文 时间:
2014-09-18 23:35:04
阅读次数:
315
实现一个算法,找出单向链表中倒数第k个结点。分析:使用相差k个位置的两个指针,以相同的速度遍历链表,当快指针为空时,慢指针刚好指向链表的倒数第k个结点。时间复杂度O(n),空间复杂度O(1)。 1 #include 2 #include 3 #include 4 5 using namesp...
分类:
其他好文 时间:
2014-09-18 22:09:04
阅读次数:
260
判断俩个链表是否相交给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交。为了简化问题,我们假设俩个链表均不带环。问题扩展:1.如果链表可能有环列?2.如果需要求出俩个链表相交的第一个节点列?ANSWER:struct Node { int data; int Node *next;};...
分类:
其他好文 时间:
2014-09-16 20:34:30
阅读次数:
172
转自:http://blog.csdn.net/zxman660/article/details/7786354——————————————————————————————————————————/*先定义一个Node类用来存储节点的值域和指针域*即当前节点中的值和后面节点的方法*在C中就是相当与定...
分类:
编程语言 时间:
2014-09-16 14:10:30
阅读次数:
273
单向链表单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。单向链表的数据结构可以分为两部分:数据域和指针域,数据域存储数据,指针域指向下一个储存节点的地址。分为动态单向链表和静态单向链表。单向链表也可以根据是否带头节点分为带头节点结构和无带头节点结...
分类:
其他好文 时间:
2014-09-15 17:41:49
阅读次数:
245
第 13 题(链表):题目:输入一个单向链表,输出该链表中倒数第 k 个结点。链表的倒数第 0 个结点为链表的尾指针。链表结点定义如下: struct ListNode {int m_nKey;ListNode* m_pNext;};我的思路:先翻转链表,再从翻转后的链表的头向尾数k-1个,返回,再...
分类:
其他好文 时间:
2014-09-15 10:04:28
阅读次数:
212
单向链表的实现方法:#include #include struct list{ int data; struct list *next;};/*创建一个节点*/struct list *create_list(){ return calloc(sizeof(struct list) , 1);}/...
分类:
其他好文 时间:
2014-09-15 01:02:28
阅读次数:
277
单链表定义
单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。
单向链表的每一个元素Item中,有一个元素会存放下一个Item的内存地址。当找到第一个元素,就能通过这个元素中存放的第二个元素的地址值找到第三个元素,继而找到第四个,第五个,第六个元素。
图1,单向链表的结构图。图中Item1元素中存放着Item2的元素地址值,Item2中存放着Item3的元素内存...
分类:
其他好文 时间:
2014-09-14 22:08:47
阅读次数:
244