zoukankan      html  css  js  c++  java
  • 20175221 曾祥杰 数据结构-单链表(选做)

    题目要求:

    参见附件,补充MyList.java的内容,提交运行结果截图(全屏)
    课下推送代码到码云


    public class MyList {
    public static void main(String [] args) {
    //选用合适的构造方法,用你学号前后各两名同学的学号创建四个结点


    //把上面四个节点连成一个没有头结点的单链表

    //遍历单链表,打印每个结点的

    //把你自己插入到合适的位置(学号升序)

    //遍历单链表,打印每个结点的

    //从链表中删除自己

    //遍历单链表,打印每个结点的
    }
    }


    public class Node<T>                             //单链表结点类,T指定结点的元素类型
    {
        public T data;                               //数据域,存储数据元素
        public Node<T> next;                         //地址域,引用后继结点

        public Node(T data, Node<T> next)            //构造结点,data指定数据元素,next指定后继结点
        {
            this.data = data;                        //T对象引用赋值
            this.next = next;                        //Node<T>对象引用赋值
        }
        public Node()
        {
            this(null, null);
        }
        public String toString()                     //返回结点数据域的描述字符串
        {
            return this.data.toString();
        }
    }

    题目分析:

    •  MyList 中添加节点 list.add ,遍历输出集合中的值 Iterator<String> iter=list.iterator(); 都是课本上有介绍的基本操作。
    • 需要思考的是,如何把我的学号插入到合适的位置,题目中已有提示使用学号升序排列,那我们就可以调用“数据结构-排序(选做)”中提到的 Collection.sort(List) 或者 Collection.sort(List, Compatator) 来完成升序排列。
    • 最后 list.remove 删除自己学号,再打印出链表即可

    代码如下:

     
    import java.util.*;
    public class MyList {
        public static void main(String [] args) {
            //选用合适的构造方法,用你学号前后各两名同学的学号创建四个结点
            List<String> list=new LinkedList<String>();
            list.add("20175219");
            list.add("20175220");
            list.add("20175222");
            list.add("20175223");
            System.out.println("初始链表:");
            //把上面四个节点连成一个没有头结点的单链表
            Iterator<String> iter=list.iterator();
            while(iter.hasNext()){
                String danlianbiao=iter.next();
                System.out.println(danlianbiao);
            }
            //遍历单链表,打印每个结点的
            list.add("20175221");
            //把你自己插入到合适的位置(学号升序)
            System.out.println("插入学号后排序,打印链表:");
            Collections.sort(list);
            iter=list.iterator();
            while(iter.hasNext()){
                String danlianbiao=iter.next();
                System.out.println(danlianbiao);
            }
            //遍历单链表,打印每个结点的
            list.remove("20175221");
            //从链表中删除自己
            System.out.println("删除学号后,打印链表:");
            iter=list.iterator();
            while(iter.hasNext()){
                String danlianbiao=iter.next();
                System.out.println(danlianbiao);
            }
            //遍历单链表,打印每个结点的
        }
    }

    测试截图:

    码云链接

  • 相关阅读:
    VisualSVN-Server windows 版安装时报错 "Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details."
    Pytest 单元测试框架之初始化和清除环境
    Pytest 单元测试框架入门
    Python(email 邮件收发)
    Python(minidom 模块)
    Python(csv 模块)
    禅道简介
    2020年最好的WooCommerce主题
    Shopify网上开店教程(2020版)
    WooCommerce VS Magento 2020:哪个跨境电商自建站软件更好?
  • 原文地址:https://www.cnblogs.com/zxja/p/10816592.html
Copyright © 2011-2022 走看看