链表Linked List
● 单端链表
● 双端链表
访问Access O(N)
搜索Search O(N)
插入Insert O(1)
删除Delete O(1)
| 特点:写很快,读很慢 适合读少写多
链表结构:val next
链表常用操作:
1.创建链表
2.添加元素
3.访问元素
4.查找元素
5.删除元素
6.链表的长度
package org.Exercise;
import java.util.LinkedList;
/**
* @author: 蛋宝
* @date: 2024-03-23 11:01
* @description: 关于链表的操作
*/
public class LinkedListExc {
public static void main(String[] args) {
// 1.创建链表
LinkedList<Integer> list = new LinkedList<>();
// 2.添加元素
// 时间复杂度O(1)
list.add(1);
list.add(3);
list.add(5);
list.add(6);
System.out.println(list.toString());
// 时间复杂度O(N)
list.add(1, 7);
System.out.println(list.toString());
// 3.访问元素
int element = list.get(2);
System.out.println(element);
// 4.搜索元素
// 时间复杂度O(N)
int index = list.indexOf(3);
System.out.println(index);
// 5.更新元素
// 时间复杂度O(N)
list.set(2, 10);
System.out.println(list.toString());
// 6.删除元素
// 时间复杂度O(N)
list.remove(3);
System.out.println(list.toString());
// 7.获取链表长度
int length = list.size();
System.out.println(length);
}
}
推荐练习题:
203 移除链表元素
206 反转链表