【LinkedList】基本操作、图的邻接表

基本操作
  • 创建
LinkedList<Integer> list = new LinkedList<Integer>();
  • 添加元素:addoffer方法
list.add(1);
list.add(2);
  • 获取值:get方法,传入访问元素的下标
list.get(index);
  • 移除元素:remove方法,传入删除元素的下标
list.remove(index);
  • 遍历:
for (int i = 0; i < list.size(); i++)
	System.out.print(list.get(i) + " ");
利用LinkedList构建图的邻接表

假设有4个节点的有向图,每个节点的邻居如下

0 -> 1 2 3
1 -> 2
2 -> 1 3 
3 -> 0 

开辟大小为4的LinkedList数组,为每个节点开辟一个LinkedList,类型为Integer

public class main {
	public static void main(String[] args) {
		LinkedList<Integer> adj[] = new LinkedList[4];
		for (int i = 0; i < 4; i++) {
			adj[i] = new LinkedList<Integer>();
		}
		adj[0].add(1);
		adj[0].add(2);
		adj[0].add(3);
		adj[1].add(2);
		adj[2].add(1);
		adj[2].add(3);
		adj[3].add(0);
		for (int i = 0; i < adj.length; i++) {
			// visit the ith node
			System.out.print("node " + i + ": ");
			for (int neighbor = 0; neighbor < adj[i].size(); neighbor++)
				System.out.print(adj[i].get(neighbor) + " ");
			System.out.println();
		}
	}
}

输出

node 0: 1 2 3
node 1: 2
node 2: 1 3
node 3: 0

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值