黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 鏈表刪除節(jié)點的方法

鏈表刪除節(jié)點的方法

更新時間:2022-12-30 10:43:21 來源:動力節(jié)點 瀏覽1348次

鏈表刪除節(jié)點的方法是什么?動力節(jié)點小編來告訴大家。

package com.lab2.test2;
public class DeleteNode {
	public static void main(String[] args) {
		Node node1 = new Node();
		node1.data = 1;
		Node node2 = new Node();
		node2.data = 2;
		Node node3 = new Node();
		node3.data = 3;
		node1.next = node2;
		node2.next = node3;
		delNode(node2);
		Node current = node1;
		while (current != null) {
			System.out.print(current.data + " ");
			current = current.next;
		}
	}
	private static void delNode(Node node) {
		Node next = node.next;
		node.data = next.data;
		node.next = next.next;
	}
}

輸出

1 3 

上面的代碼通過將后繼節(jié)點的數(shù)據(jù)復制到當前節(jié)點,從而刪除當前節(jié)點的方式完成了操作

注意:如果直接用下面的方式并不會改變鏈表(刪除node2,需要讓node1的next指向node3,下面的方法并沒有完成這個操作,只是node2變量指向了node2.next,但是node2節(jié)點還是被node1.next指向)

package com.lab2.test2;
public class DeleteNode {
	public static void main(String[] args) {
		Node node1 = new Node();
		node1.data = 1;
		Node node2 = new Node();
		node2.data = 2;
		Node node3 = new Node();
		node3.data = 3;
		node1.next = node2;
		node2.next = node3;
		node2=node2.next;
		Node current = node1;
		while (current != null) {
			System.out.print(current.data + " ");
			current = current.next;
		}
	}
	private static void delNode(Node node) {
		node=node.next;
	}
}

輸出

1 2 3

不過如果是刪除首節(jié)點則可以,比如下面LinkedStack中的pop方法

package com.lab1.test1;
import java.util.Iterator;
import java.util.NoSuchElementException;
public class LinkedStack<Item> implements Iterable<Item> {
	private int n;
	private Node first;
	private class Node {
		private Item item;
		private Node next;
	}
	@Override
	public Iterator<Item> iterator() {
		return new ListIterator();
	}
	private class ListIterator implements Iterator<Item> {
		Node current = first;
		@Override
		public boolean hasNext() {
			return current != null;
		}
		@Override
		public Item next() {
			Item item = current.item;
			current = current.next;
			return item;
		}
	}
	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		for (Item item : this) {
			builder.append(item + " ");
		}
		return builder.toString();
	}
	public boolean isEmpty() {
		return first == null;
	}
	public int size() {
		return n;
	}
	public void push(Item item) {
		Node oldfirst = first;
		first = new Node();
		first.item = item;
		first.next = oldfirst;
		n++;
	}
	public Item pop() {
		if (isEmpty()) {
			throw new NoSuchElementException("empty stack exception");
		}
		Item item = first.item;
		first = first.next;
		n--;
		return item;
	}
	public static void main(String[] args) {
		LinkedStack<String> stack = new LinkedStack<>();
		System.out.println(stack);
		System.out.println(stack.size());
		System.out.println(stack.isEmpty());
		stack.push("bill");
		stack.push("jack");
		stack.push("lucy");
		System.out.println(stack);
		System.out.println(stack.size());
		System.out.println(stack.isEmpty());
		stack.pop();
		stack.pop();
		System.out.println(stack);
		System.out.println(stack.size());
		System.out.println(stack.isEmpty());
	}
}

Happy learning !!

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 一级毛片免费观看久 | 成人看的羞羞视频免费观看 | 伦理片中文 | 亚洲高清国产品国语在线观看 | 欧美日韩一级大片 | 五月婷婷综合激情 | 亚洲国产一区二区三区 | 一级特色大黄美女播放网站 | 中文字幕欧美日韩在线不卡 | 最近2019年最中文字幕视频 | 黄色欧美视频 | 久久香蕉精品视频 | 日本一区二区三区在线观看视频 | 国产凹凸一区在线观看视频 | 怡红院免费全部视频在线 | 欧美爽爽网 | 欧洲视频一区 | 午夜爽爽爽男女免费观看影院 | 欧美韩国日本在线 | 主播蜜汁丝袜 精品自拍 | 精品不卡 | 看的免费污污网站 | 亚洲黄色中文字幕 | 黄色一区二区三区 | 免费观看黄色视屏 | 成人黄色在线观看视频 | 播五月婷婷| 桃桃酱无缝丝袜在线播放 | 日本三级带日本三级带黄首页 | 亚洲成a人片在线观看精品 亚洲成a人片在线观看中 | 国产国产成人人免费影院 | 窝窝免费午夜视频一区二区 | 亚洲第一影院 | 国产在线麻豆波多野结衣 | 亚洲国产女人aaa毛片在线 | 久久夜夜视频 | 中文字幕午夜乱理片11111 | 性欧美日本 | 香蕉视频黄色软件 | 午夜视频色 | 午夜影院三级 |