链表
1 链表
- 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。
2 单链表



- package com.acti.linkedList;
- /**
- * author hongyeci
- * date 20220722
- * version 1.0
- * remark 单链表--商品类
- */
- public class GoodsNode {
- private int goodsId;
- private String goodsName;
- private double goodsPrice;
- private GoodsNode next;
- public GoodsNode() {
- }
- public GoodsNode(int goodsId, String goodsName, double goodsPrice) {
- this.goodsId = goodsId;
- this.goodsName = goodsName;
- this.goodsPrice = goodsPrice;
- }
- public int getGoodsId() {
- return goodsId;
- }
- public void setGoodsId(int goodsId) {
- this.goodsId = goodsId;
- }
- public String getGoodsName() {
- return goodsName;
- }
- public void setGoodsName(String goodsName) {
- this.goodsName = goodsName;
- }
- public double getGoodsPrice() {
- return goodsPrice;
- }
- public void setGoodsPrice(double goodsPrice) {
- this.goodsPrice = goodsPrice;
- }
- public GoodsNode getNext() {
- return next;
- }
- public void setNext(GoodsNode next) {
- this.next = next;
- }
- @Override
- public String toString() {
- return "GoodsNode{" +
- "goodsId=" + goodsId +
- ", goodsName='" + goodsName + '\'' +
- ", goodsPrice=" + goodsPrice +
- ", next=" + next +
- '}';
- }
- }
复制代码 3 双链表



- package com.acti.linkedList;
- /**
- * author hongyeci
- * date 20220725
- * version 1.0
- * remark 双链表--图书类
- */
- public class BooksNode {
- private int id;
- private String name;
- private double price;
- private BooksNode pre; //双链表前驱结点
- private BooksNode next; //双链表后继结点
- public BooksNode() {
- }
- public BooksNode(int id, String name, double price) {
- this.id = id;
- this.name = name;
- this.price = price;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public double getPrice() {
- return price;
- }
- public void setPrice(double price) {
- this.price = price;
- }
- public BooksNode getPre() {
- return pre;
- }
- public void setPre(BooksNode pre) {
- this.pre = pre;
- }
- public BooksNode getNext() {
- return next;
- }
- public void setNext(BooksNode next) {
- this.next = next;
- }
- @Override
- public String toString() {
- return "BooksNode{" +
- "id=" + id +
- ", name='" + name + '\'' +
- ", price=" + price +
- '}';
- }
- }
复制代码 4 单向环形链表-约瑟夫环
<ul>设编号为1,2,...,n的n个人围坐成一圈,约定编号为k(1= |