🤷♀️🤷♀️🤷♀️ 今天给大家分享的是单链表的基本操作。
🎉欢迎👍点赞✍评论❤️收藏
😛😛😛希望我的文章能对你有所帮助,有不足的地方还请各位看官多多指教,大家一起学习交流!
动动你们发财的小手,点点关注点点赞!在此谢过啦!哈哈哈!😛😛😛
目录
一、接口定义
还是和之前的顺序表一样,定义一个接口。后续通过链表类去实现这个定义的接口。
interface SingleLinkedList {
//头插法
void addFirst(int data);
//尾插法
void addLast(int data);
//任意位置插入,第一个数据节点为0号下标
void addIndex(int index,int data);
//查找是否包含关键字key是否在单链表当中
boolean contains(int key);
//删除第一次出现关键字为key的节点
void remove(int key);
//删除所有值为key的节点
void removeAllKey(int key);
//得到单链表的长度
int size();
void clear();
void display();
}
二、类定义
定义一个链表类,它是由各个节点构成的,因此还需要在链表类内定义一个关于节点的内部类。代码如下:
public class MyLinkedList implements SingleLinkedList {
class LinkNode {
public int val;
public LinkNode next;
public LinkNode(int val) {
this.val = val;
}
}
public LinkNode head;
}
三、方法实现
3.1创建单链表(初始化创建)
每次通过LinkNode类定义的节点去new一个新的节点并通过构造函数设置初始值,节点定义完成后,通过各个节点的next域把各个节点之间联系起来,便成功创建了一个单链表。
public void creatLinkedList() {
LinkNode node1 = new LinkNode(12);
LinkNode node2 = new LinkNode(23);
LinkNode node3 = new LinkNode(34);
LinkNode node4 = new LinkNode(45);
LinkNode node5 = new LinkNode(56);
node1.next = node2;
node2.next = node3;
node3.next = node4;
node4.next = node5;