链表

文章目录


#定义:

链表是一种递归的数据结构,它或者为空(null),或者是指向一个结点的(node)的引用,该结点含有一个泛型的元素和一个指向另一条链表的引用。

#结点:

private class Node
{
	Item item;
	Node next;
};

Item的类型为Item,是链表中存的数据,next的类型为next,是该结点指向的下一个结点索引。

#链表结构:

Node first = new Node();
Node second = new Node();
Node third = new Node();

first.item = "to";
second.item = "be";
third.item = "or";

first.next = second;
second.next = third;

链表结构#在表头插入节点
首先创建结点索引,oldfirst,将其指向原first的结点,然后将first指向新结点

//保存指向链表的链接
Node oldfirst = first;

//创建新的首结点
first = new Node();

//设置新结点中的实例变量
first.item = "not";
first.next = oldfirst;

保存指向链表的链接
在这里插入图片描述
创建新的首结点
在这里插入图片描述
设置新结点中的实例变量
在这里插入图片描述

#从表头删除节点
将first指向first.next即可,原头结点会被自动回收。

first = first.next;

在这里插入图片描述
#在表尾插入节点
首先需要获取尾结点,单链表从头结点开始遍历,直到找到尾结点(链表缺点之一)。

//保存指向尾节点的链接
Node oldlast = last;
//创建新的尾节点
last = new Node();
last.item = "not";
//将尾链接指向新结点
oldlast.next = last;

保存指向尾节点的链接
在这里插入图片描述
创建新的尾节点
在这里插入图片描述
将尾链接指向新结点
在这里插入图片描述
#遍历

for(Node x = first; x != null; x = x.next)
{
	//处理
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值