数据结构之链表

这篇博客介绍了数据结构中的链表类型,包括单链表、循环链表和双向链表。通过实例解析了单链表的操作,如创建、删除和插入,并探讨了约瑟夫环问题的循环链表解决方案。最后,文章讨论了双向链表的特点,强调其在节点删除操作中的优势。
摘要由CSDN通过智能技术生成

单链表

小王子单链表

小王子有一天迷上了排队的游戏,桌子上有标号为 1-10 按顺序摆放的 10 个玩具,现在小王子想将它们按自己的喜好进行摆放。小王子每次从中挑选一个好看的玩具放到所有玩具的最前面。已知他总共挑选了 M 次,每次选取标号为 X 的玩具放到最前面,求摆放完成后的玩具标号。

给出一组输入,M=8 共计排了 8 次,这 8 次的序列为 9,3,2,5,6,8,9,8。 求最终玩具的编号序列。

过程:

1、创建初始链表

2、实现链表的删除操作

3、实现链表的插入操作

4、输出已排好序的链表

import java.util.Scanner;

public class 单链表 {
	
	static class Node{
		int data;
		Node next;
		
		Node(int data){
			this.data = data;
		}
	}//成员类,表节点
	
	static Node head = new Node(1);//头节点
	
	//初始化链表
	static void init() {
		Node x = head;
		for(int i = 1; i <= 10; i++) {
			x = (x.next = new Node(i));
//			x.next = new Node(i);
//			x = x.next;
			x.next = null;	
		}
	}
	
	//删除节点
	static void del(int x) {
		Node Befor = head;//存放一个节点前驱,方便删除元素
		for(Node T = h
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值