链表

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

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

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

链表的结构:

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

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

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

 

链表的add()方法原理:

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

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

在64位Win7操作系统中安装Microsoft Access Engine的解决方案

现在的Win7系统中安装的一般都是32位的Office,因为微软推荐使用32位的Office,兼容性更强,稳定性更好。在使用Access作为数据库的时候,C#操作Access,如果Access是acc...

中国手机发展简史

从1876年贝尔发明电话以来,经历了长达一个多世纪的发展,电话通讯服务已走进了千家万户,成为国家经济建设、社会生活和人们交流信息所不可缺少的重要 工具。在最近二十年来,电话技术和业务发生了巨大变化,通...

在Http请求中的Cookie种类与状态详解

很多人以为Cookie就是存储在浏览器所在电脑硬盘中的那个txt文件,在必要的时候浏览器会读取这个文件然后发送到服务器端。其实这只是cookie的一个方面。Cookie可以分为存储在内存中和存储在硬盘...

java jdbc数据库连接代码封装

一个很好的封装jdbc数据库类 package cn.com.util; import java.sql.*; import java.util.*; /** * 数据库操作工具类 * ...

快速排序

package sort; public class QuickSort { /** * * 快速排序选一个基值,一般选择第一个为基值,分成两部分,首先基值与最后一个相比较,如果基值小于...

秒杀系统的一点思考

秒杀系统难点往往是短时间内对数据进行读写,然后造成读写上的一些冲突,甚至锁非常严重.当然知道难点在哪里,我们自然就有办法解决,人类智慧无限,办法总比困难多. 简单说来也就两点,限流和提升关键点的性能....

Android Camera系统

1. Overview1.1 物理架构1.2 Android架构2. CameraService3. HAL4. Overlay5. Video for Linux1. Overview 本文以Fre...

weblogic运行websocket报错:The async-support is disabled on this request

WebLogic在进行websocket连接

自己动手写ORM框架(一):目标效果预览

以前还在大学中学习java的时候,就学着使用Hibernate进行持久化层的操作。当时只是觉得这框架很神奇,能够不写SQL语句就能操作数据库。当时也不知道其内部原来是什么,就只知道怎么去用,怎么去写X...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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