链表

原创 2011年01月17日 22:02:00

很多时候我们需要对一组数据进行操作的时候我们都会想到数组,但是有几种情况使用数组会特别的费劲,比如有一组数据我们想移除其中的某一项时(这一项并非末项),假如这组数中有5个数我想删除第1个数,这时我们需要将数组整体的向前移动用第二个数覆盖第一个数,用第三个数覆盖第二个数。。。那么这时数组就不是一种好的选择,

此时用链表处理就方便多了,方便的原因是由链表的结构决定的

链表的结构:

链表是由一系列节点组成,这些节点不必在内存中相连,每个节点均含有表元素和到包含该元素的下一个元素(继元)的节点链(next链)

链表中的remove()方法原理:

当我们要将链表中的一个元素删除,其实只要将这个元素的前一个元素的next引用进行修改即可,就像链条一样,将这一节去掉,然后将去掉这一节的其余部分链接起来,形成一个新链,删除的是以一个元素,只要将第二个元素设为头节点即可。

 

链表的add()方法原理:

当我们要往链表中指定位置插入元素的话,也只要将这个指定位置的前一元素的next引用赋值为要插入的元素,将要插入元素的next链的引用变为未操作前该位置的引用即可,

 

 

C语言实现多态链表

  • 2017年12月07日 16:02
  • 13KB
  • 下载

自己实现集合框架(八):可排序单链表的实现

一. 什么叫可排序的单链表? 场景描述: 在项目中我们常常会有这样的需求,在存放元素的时候可以预先按照数值大小进行排序(升序或降序),那么在取出数据的时候就不需要再次排序了。 什么叫可排序的...
  • F1Zft5Y
  • F1Zft5Y
  • 2017年05月27日 00:00
  • 77

任务控制块及其链表

  • 2017年11月12日 21:05
  • 34KB
  • 下载

链表源码,练习文件

  • 2017年11月29日 11:01
  • 2.3MB
  • 下载

自己实现集合框架(六):实现单链表逆转

一. 什么是单链表逆转? 我们都知道,单链表的每个结点由两部分组成,一个数据域data和一个指向其后继结点的指针域next,最后一个结点的next域为空。单链表逆转就是将链表中各结点的next域...
  • F1Zft5Y
  • F1Zft5Y
  • 2017年05月25日 00:00
  • 62

链表c代码实现

  • 2017年10月22日 15:55
  • 783KB
  • 下载

双向循环链表

  • 2017年10月13日 14:10
  • 473KB
  • 下载

PTA(数据结构)-带头结点的单链表就地逆置

本题要求编写函数实现带头结点的单链线性表的就地逆置操作函数。L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要求在不新开辟节点的前提下将单链表中的元素进行逆置,如原单...
  • LANVNAL
  • LANVNAL
  • 2017年12月11日 19:35
  • 166

单链表快速排序

  • 2017年11月03日 09:36
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:链表
举报原因:
原因补充:

(最多只允许输入30个字)