1. /**
  2. * 使用链表实现队列
  3. * Create by Administrator
  4. * 2018/6/19 0019
  5. * 下午 4:37
  6. **/
  7. public class Link {
  8.  
  9. public long dData;
  10. public Link next;
  11.  
  12. public Link(long d){
  13. this.dData = d;
  14. }
  15.  
  16. public void displayLink(){
  17. System.out.print(dData + " ");
  18. }
  19. }
  20.  
  21. class SortList{
  22.  
  23. private Link first;
  24.  
  25. public SortList(){
  26. this.first = null;
  27. }
  28.  
  29. public boolean isEmpty(){
  30. return first == null;
  31. }
  32.  
  33. public void insertLast(long key){
  34. Link newLink = new Link(key);
  35. Link previous = null;
  36. Link current = first;
  37.  
  38. while (current != null && key > current.dData){
  39. previous = current;
  40. current = current.next;
  41. }
  42. if(previous == null){
  43. first = newLink;
  44. }else{
  45. previous.next = newLink;
  46. }
  47. newLink.next = current;
  48. }
  49.  
  50. public Link remove(){
  51. Link temp = first;
  52. first = first.next;
  53. return temp;
  54. }
  55.  
  56. public void displayList(){
  57. Link current = first;
  58. while (current != null){
  59. current.displayLink();
  60. current = current.next;
  61. }
  62. System.out.println("");
  63. }
  64. }
  65.  
  66. class LinkQueue{
  67. private FirstLastList theList;
  68.  
  69. public LinkQueue(){
  70. this.theList = new FirstLastList();
  71. }
  72. public boolean isEmpty(){
  73. return theList.isEmpty();
  74. }
  75.  
  76. public void insert(long j){
  77. theList.insertLast(j);
  78. }
  79.  
  80. public long remove(){
  81. return theList.deleteFirst();
  82. }
  83.  
  84. public void displayQueue(){
  85. System.out.print("Queue (front-->rear): ");
  86. theList.displayList();
  87. }
  88.  
  89. public static void main(String[] args) {
  90. SortList sortList = new SortList();
  91. sortList.insertLast(40);
  92. sortList.insertLast(20);
  93.  
  94. sortList.displayList();
  95.  
  96. sortList.insertLast(10);
  97. sortList.insertLast(30);
  98. sortList.insertLast(50);
  99.  
  100. sortList.displayList();
  101.  
  102. sortList.remove();
  103.  
  104. sortList.displayList();
  105.  
  106. }
  107. }

  

java学习之—链表(4)的更多相关文章

  1. Java学习之链表

    数据结构学了,java实现下 package com.gh.Link; /** * 链表的实现 * @author ganhang * */ public class Links { public s ...

  2. Java学习笔记--链表

    心在山东身在吴,飘蓬江海漫嗟吁. 他时若遂凌云志, 敢笑黄巢不丈夫. --水浒传 先上源代码,LinkedList类: private static class Node<E> { E i ...

  3. java学习之—链表(3)

    /** * 使用链表实现队列 * Create by Administrator * 2018/6/19 0019 * 下午 4:37 **/ public class Link { public l ...

  4. java学习之—链表(2)

    /** * 双端链表操作 * Create by Administrator * 2018/6/14 0014 * 下午 2:05 **/ class Link1 { public long dDat ...

  5. java学习之—链表(1)

    /** * 单链表操作 * Create by Administrator * 2018/6/14 0014 * 下午 2:05 **/ public class Link { public int ...

  6. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  7. 第八周java学习总结

    学号 20175206 <Java程序设计>第八周学习总结 教材学习内容总结 第十五章:泛型与集合框架 主要内容 泛型 链表 堆栈 散列映射 树集 树映射 重点和难点 重点:泛型和集合的使 ...

  8. java学习(五)

    学号 20189214 <Java程序设计>第五周学习总结 教材学习内容总结 输入输出 文件系统可以包含3种类型的对象:文件.目录和符号链接. 一个文件或路径是一个java.io.File ...

  9. 20165236 第六周Java学习总结

    20165236 第六周Java学习总结 一. 第八章内容: 1.String 类: String对象.常量对象:字符串并置: 常用方法: length,equals,startsWith,compa ...

随机推荐

  1. 【angularjs】使用angular搭建项目,获取dom元素

    方法一:需要引入jq,否则会报angularJS1 Error: [jqLite:nosel](不建议使用) <div id="testID" class="tes ...

  2. docker 1 为什么要使用docker

    一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.做为开发+运维之间的协作,我们需要关心很多东西,这也就是很多互联网公司都不得不面对的问题,特别是各种版本的迭代后,不同版本环境的兼容,对运维 ...

  3. 请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母。例如如果第一个字母是S,则继续判断第二个字母,如果第二个字母是a,则输出“星期六”

    请根据英文单词的第一个字母判断星期几,如果第一个字母是一样的,则继续判断第二个字母.例如如果第一个字母是S,则继续判断第二个字母,如果第二个字母是a,则输出“星期六”.星期的英文单词如下表所示. 星期 ...

  4. (折扣计算)需求说明:普通顾客购物满100元打9折;会员购物打8折;会员购物满200元打7.5折(判断语句if-else和switch语句的嵌套结

    package com.summer.cn; import java.util.Scanner; /** * @author Summer *折扣计算 需求说明:普通顾客购物满100元打9折:会员购物 ...

  5. 20175310 MyCP(课下作业,必做)

    一.作业要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内 ...

  6. 在Ubuntu上快速搭建基于Beego的RESTful API

    最近在研究Go,打算基于Go做点Web API,于是经过初步调研,打算用Beego这个框架,然后再结合其中提供的ORM以及Swagger的集成,可以快速搭建一个RESTful API的网站. 下面是具 ...

  7. Java多线程(三)—— synchronized关键字详解

    一.多线程的同步 1.为什么要引入同步机制 在多线程环境中,可能会有两个甚至更多的线程试图同时访问一个有限的资源.必须对这种潜在资源冲突进行预防. 解决方法:在线程使用一个资源时为其加锁即可. 访问资 ...

  8. face detection[CNN casade]

    本文是基于< A convolutional neural network cascade for face detection>的解读,所以时间线是2015年. 0 引言 人脸检测是CV ...

  9. 唯一正确的修改Jupyter Notebook默认路径的方法

    唯一正确修改Jupyter Notebook的默认路径 1.按照网上的方法,先修改了快捷方式的起始位置,发现并不能修改默认路径. 2.后来发现“目标”中后面有个参数%USERPROFILE%,它代表的 ...

  10. kafka原理和实践(三)spring-kafka生产者源码

    系列目录 kafka原理和实践(一)原理:10分钟入门 kafka原理和实践(二)spring-kafka简单实践 kafka原理和实践(三)spring-kafka生产者源码 kafka原理和实践( ...