学习双向链表带哨兵demo

定义

在计算机科学中,链表是数据元素的线性集合,其每个元素都指向下一个元素,元素存储上并不连续。

双向链表,每个元素知道其上一个元素和下一个元素。

以下为示例代码:

package com.tfq.arithmetic.linkedlist;

import java.util.Iterator;
import java.util.function.Consumer;

/**
 * @author: fqtang
 * @date: 2024/05/21/9:29
 * @description: 双向链表(带哨兵)
 */
public class DoubleLinkedListSentinel implements Iterable<Integer> {

	static class Node {
		Node prev;//上一个节点指针
		int value;//值
		Node next;//下一个节点指针

		public Node(Node prev, int value, Node next) {
			this.prev = prev;
			this.next = next;
			this.value = value;
		}

	}

	private Node head;//头哨兵
	private Node tail;//尾哨兵

	public DoubleLinkedListSentinel() {
		this.head = new Node(null, 666, null);
		this.tail = new Node(null, 999, null);
		head.next = tail;
		tail.prev = head;
	}

	/**
	 * 返回链表第一种方式
	 *
	 * @r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值