单向链表单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。单向链表的数据结构可以分为两部分:数据域和指针域,数据域存储数据,指针域指向下一个储存节点的地址。分为动态单向链表和静态单向链表。单向链表也可以根据是否带头节点分为带头节点结构和无带头节点结...
分类:
其他好文 时间:
2014-09-15 17:41:49
阅读次数:
245
单链表定义
单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。
单向链表的每一个元素Item中,有一个元素会存放下一个Item的内存地址。当找到第一个元素,就能通过这个元素中存放的第二个元素的地址值找到第三个元素,继而找到第四个,第五个,第六个元素。
图1,单向链表的结构图。图中Item1元素中存放着Item2的元素地址值,Item2中存放着Item3的元素内存...
分类:
其他好文 时间:
2014-09-14 22:08:47
阅读次数:
244
链表是面试中常考的,本文参考了其它一些文章,加上小编的自己总结,基本每个算法都测试并优化过。
算法大全(1)单链表 中还有一些链表题目,将来也会整理进来。
* REFS:
* http://blog.csdn.net/fightforyourdream/article/details/16353519
* http://blog.csdn.net/luckyx...
分类:
编程语言 时间:
2014-09-14 08:59:16
阅读次数:
220
Sort a linked list using insertion sort.题目意思是用插入排序对单链表进行排序,做法是返回一个新的单链表,每次插入的时候都添加一个新建的节点。/** * Definition for singly-linked list. * public class List...
分类:
其他好文 时间:
2014-09-13 15:54:15
阅读次数:
233
定义链表结构struct ListNode{ int val; ListNode *next; ListNode(int v) : val(v), next(NULL) {}};非递归反转单链表ListNode* reverse(ListNode *root){ if (ro...
分类:
其他好文 时间:
2014-09-12 23:21:44
阅读次数:
235
最近复习考研,加上一直都将"算法"放在很高的位置,所以,蛮重视算法的.不多说了,其实这个问题,不难理解的.主要代码: 1 //反转单链表. 2 void 3 reverse(linklist lList) { 4 Linknode *pre = NULL; //注意该结点不能再指向别的...
分类:
其他好文 时间:
2014-09-12 01:11:24
阅读次数:
221
(一)顺序表1.基本概念: 首元结点:存储第一个数据元素的结点。 头结点:在链表的首元结点之前附设一个结点,便于对首元结点操作。 头指针:指向链表中的第一个结点。 插入/删除:在顺序表中插入或删除一个元素,需要平均移动一半个元素,具体移动的元素个数与元素位置有关。 在单链表中,除了首元结点...
分类:
其他好文 时间:
2014-09-10 15:35:30
阅读次数:
259
链表结构:typedef struct ListNode{ int val; struct ListNode *next;}ListNode;1.判断一个单链表是否有环这个问题采用追击的方法,定义两个指针,一个一次走两步,一个一次走一步,如果相遇了就说明有环。int is_cycle(L...
分类:
其他好文 时间:
2014-09-10 14:08:30
阅读次数:
156