• JAVA 链式列表的训练


    参考连接: 小王子单链表 - 蓝桥云课 (lanqiao.cn) 【<---这是个连接可以点进去】

    小王子单链表

    题目描述

    小王子有一天迷上了排队的游戏,桌子上有标号为 1-101−10 的 1010 个玩具,现在小王子将他们排成一列,可小王子还是太小了,他不确定他到底想把那个玩具摆在哪里,直到最后才能排成一条直线,求玩具的编号。已知他排了 MM 次,每次都是选取标号为 XX 个放到最前面,求每次排完后玩具的编号序列。

    要求一:采用单链表解决

    输入描述

    第一行是一个整数 MM,表示小王子排玩具的次数。

    随后 MM 行每行包含一个整数 XX,表示小王子要把编号为 XX 的玩具放在最前面。

    输出描述

    共 MM 行,第 ii 行输出小王子第 ii 次排完序后玩具的编号序列。

    输入输出样例示例 1

    输入

     
     

    Plain Text

    5
    3
    2
    3
    4
    2

    输出

     
     

    Plain Text

    3 1 2 4 5 6 7 8 9 10
    2 3 1 4 5 6 7 8 9 10
    3 2 1 4 5 6 7 8 9 10
    4 3 2 1 5 6 7 8 9 10
    2 4 3 1 5 6 7 8 9 10

    运行限制

    5
    3
    2
    3
    4
    2
    3 1 2 4 5 6 7 8 9 10
    2 3 1 4 5 6 7 8 9 10
    3 2 1 4 5 6 7 8 9 10
    4 3 2 1 5 6 7 8 9 10
    2 4 3 1 5 6 7 8 9 10

    1. package week3.exam8;
    2. import java.util.ArrayList;
    3. import java.util.LinkedList;
    4. import java.util.Scanner;
    5. public class Main {
    6. public static void main(String[] args) {
    7. ArrayList arr = new ArrayList<>();
    8. LinkedList list = new LinkedList<>();
    9. for (int i = 1; i < 11; i++)
    10. list.add(i+"");
    11. Scanner sc = new Scanner(System.in);
    12. int N = sc.nextInt();
    13. for (int i = 0; i < N; i++) {
    14. int n = sc.nextInt();
    15. arr.add(n);
    16. }
    17. sc.close();
    18. for (int i : arr) {
    19. list.remove(i+"");
    20. list.addFirst(i+"");
    21. System.out.println(list.toString().substring(1, list.toString().length() - 1).replace(",", ""));
    22. }
    23. }
    24. }

  • 相关阅读:
    Spark基础【介绍、入门WordCount案例】
    【图像处理 】卡尔曼滤波器原理
    rviz添加qt插件
    反射机制(Reflection)
    软件工程 第一次随堂练习
    红蓝对抗-最全信息收集工具
    PDF文档编辑Acrobat Pro DC
    依赖的作用域范围
    Python 生成器
    前端Vue页面中如何展示本地图片
  • 原文地址:https://blog.csdn.net/laocooon/article/details/132906311