此文章仅作为自己学习过程中的记录和总结,同时会有意地去用英文来做笔记,一些术语的英译不太准确,内容如有错漏也请多指教,谢谢!
一、概述
-单链表的基本组成结构:
- Node:自定义的结点结构。
- (Node) head:指向单链表头结点的“头指针”。
-自定义结点的基本组成结构:
- 数据域:存放具有实际意义的数据。
- “指针”域(next):存放一个指向下一结点的“指针”。
-内容:
- 构造方法。
- add()【向单链表中添加结点】
- addByOrder()【向单链表中按顺序(默认升序)添加结点】
- update()【更新单链表中已存在的某个结点的信息】
- delete()【删除单链表中已存在的的某个结点】
- show()【打印出单链表中所有元素的内容】
(单链表相关的企业面试题,具体可见:数据结构与算法–单链表相关面试题)
二、代码实现
- Custom Node(自定义结点结构)
/*
HeroNode
Zzay
2021/01/17
*/
package com.zzay.linkedlist.impl;
/**
* Define the node of the linked list.
*
* @author Zzay
* @version 2021/01/17
*/
public class HeroNode {
private int no;
private String name;
private String nickname;
protected HeroNode next;
public HeroNode(int hNo, String hName, String hNickname) {
no = hNo;
name = hName;
nickname = hNickname;
next = null;
}
@Override
public String toString() {
return "HeroNode [" +
"number=" + no +
", name='" + name + '\'' +
", nickname='" + nickname + '\'' +
']';
}
public int getNo() {
return no;
}
public String getName() {
return name;
}
public String getNickname() {
return nickname;
}
public void setName(String name) {
this.name = name;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
}
- Attributes and constructor
/*
SingleLinkedList
Zzay
2021/01/17
*/
package com.zzay