首页 > 编程语言 >java: 小王子单链表 ------ ( LinkedList )

java: 小王子单链表 ------ ( LinkedList )

时间:2023-02-13 04:11:05浏览次数:49  
标签:10 java LinkedList 元素 小蓝 链表 add ------

  java.util包中的LinkedList<E>泛型类创建的对象以链表结构存储数据,习惯上称LinkedList类创建的对象为链表对象。

LinkedList<String> myList=new LinkedList<String>();     //创建一个空双链表

  使用LinkedList<E>泛型类声明创建链表时,必须要指定E的具体类型,然后链表就可以使用 add(E obj)方法向链表依次增加结点。

mylist.add("How");
mylist.add("Are");
mylist.add("You");
mylist.add("Java");

  这时,链表mylist就有了4个结点,结点自动连接到一起,不需要我们做链接。

常用方法

 

1 boolean add(E e); 向集合中添加元素
2 boolean addFirst(E e); 向集合开头添加元素
3 boolean addLast(E e); 向集合尾部添加元素
4 E getFirst(); 从集合中获取头部元素
5 E getLast(); 从集合中获取尾部元素
6 E removeFirst(int index); 从集合中删除第一个元素,并返回该元素
7 E removeLast(int index); 从集合中删除最后一个元素,并返回该元素
8 E pop(); 弹出首部一个元素
9 void push(); 向集合头添加一个元素
10 boolean isEmpty(); 判断集合是否为空

小王子单链表 ---- 蓝桥杯

题目描述

小蓝最近学习了一些排序算法,其中冒泡排序让他印象深刻。

在冒泡排序中,每次只能交换相邻的两个元素。

小蓝发现,如果对一个字符串中的字符排序,只允许交换相邻的两个字符,在所有可能的排序方案中,冒泡排序的总交换次数是最少的。

例如,对于字符串 lan 排序,只需要 1 次交换。对于字符串 qiao 排序,总共需要 4 次交换。

  小蓝的幸运数字是 V,他想找到一个只包含小写英文字母的字符串,对这个串中的字符进行冒泡排序,正好需要 V 次交换。请帮助小蓝找一个这样的字符串。如果可能找到多个,请告诉小蓝最短的那个。如果最短的仍然有多个,请告诉小蓝字典序最小的那个。请注意字符串中可以包含相同的字符。

输出描述

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

输入输出样例

-- 输入

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
import java.util.*;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        LinkedList<Integer> list = new LinkedList<>();  //创建链表
        for(int i=1;i<=10;i++)
          list.add(i);            //添加链表元素
        int n=scan.nextInt();
        int str;
        for(int i=0;i<n;i++){
          str=scan.nextInt();
          list.remove(list.indexOf(str));    //去除坐标上的指定元素
          list.add(0,str);          //在第一个位置上添加 str元素
          for(int s:list){
            System.out.print(s+" ");
          }
          System.out.println();
        }
        scan.close();
    }
}

 

标签:10,java,LinkedList,元素,小蓝,链表,add,------
From: https://www.cnblogs.com/mcpf/p/17115147.html

相关文章

  • 决战圣地玛丽乔亚Day09--RocketMQ总结
            ......
  • java学习
    Markdown学习一级标题:#+空格+标题名字二级标题:##+空格+加标题名字三级标题:###+空格+加标题名字四级标题####+空格+加标题名字五六级标题以此类推字体Holle,wor......
  • 智慧园区整体解决方案
    方案目录1、园区管理现状2、系统整体介绍3、两大中心4、四大平台5、五大体系6、整体效益              ......
  • 756. 蛇形矩阵
    好久没写算法题了,先写个语法题练练手https://www.acwing.com/problem/content/description/758/#include<iostream>usingnamespacestd;constintN=105;intmap[N......
  • https//mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/linux-64'
    CondaHTTPError:HTTP000CONNECTIONFAILEDforurl<https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/linux-64/current_repodata.json> Elap......
  • 重新思考 Vue 组件的定义
    重新总结组件的定义这是官方对组件的定义:组件允许我们将UI划分为独立的、可重用的部分,并且可以对每个部分进行单独的思考。在实际应用中,组件常常被组织成层层嵌套的树状......
  • 中英文章三
      Lifeisajourneyfilledwithupsanddowns,twistsandtruns.Itcanbearollercoasterofemotionsandexperiences,butit'sallpartofwhatmak......
  • 造价工作文件汇编
    广东省计价依据(广东省住建部发布版本):https://www.gd.gov.cn/zwgk/wjk/zcfgk/content/post_2721956.html造价学社广东省文件汇编:http://www.zaojiaxueshe.com/topic/广东省......
  • 如何将 Markdown 格式文章快速发布到微信公众号(转)
    转自:如何将Markdown格式文章快速发布到微信公众号如果你和我一样,平时习惯使用Markdown写作,当我们想把文章发布到微信公众号或知乎等平台时,就会发现挺麻烦的,尤其是排版......
  • Innodb 相较于MyISAM 的优势在哪
    本文依旧主要参考沈剑大佬的十多篇博文,以及数位网友的优秀分享,文末是完整参考。1、索引1.1B树多叉平衡查找树,多叉平衡以及磁盘预读使得B树查找效率特别高。多叉(多......