1. /**
  2. * 双端链表操作
  3. * Create by Administrator
  4. * 2018/6/14 0014
  5. * 下午 2:05
  6. **/
  7. class Link1 {
  8.  
  9. public long dData;
  10. public Link1 next;
  11.  
  12. public Link1(int id) {
  13. this.dData = id;
  14. }
  15.  
  16. public void displayLink() {
  17. System.out.print(dData + " ");
  18. }
  19. }
  20.  
  21. public class FirstLastList {
  22.  
  23. private Link1 first;
  24. private Link1 last;
  25.  
  26. public FirstLastList() {
  27. this.first = null;
  28. this.last = null;
  29. }
  30.  
  31. public boolean isEmpty(){ //判断链表是否为空
  32. return (first == null);
  33. }
  34.  
  35. public long deleteFirst(){
  36. long temp = first.dData;
  37. if(first.next == null){
  38. last = null;
  39. }
  40. first = first.next;
  41. return temp;
  42. }
  43.  
  44. public void insertFirst(int id){
  45. Link1 link = new Link1(id);
  46. if(isEmpty()){
  47. last = link;
  48. }
  49. link.next = first; //储存对象的引用
  50. first = link; //把当前对象赋值给first
  51. }
  52.  
  53. public void insertLast(int id){
  54. Link1 newLink = new Link1(id);
  55. if (isEmpty()){
  56. first = newLink;
  57. }else {
  58. last.next = newLink;
  59. }
  60. last = newLink;
  61. }
  62.  
  63. public void displayList(){
  64. System.out.print("List (first-->last): ");
  65. Link1 current = first;
  66. while(current != null){
  67. current.displayLink();
  68. current = current.next;
  69. }
  70. System.out.println("");
  71. }
  72.  
  73. public static void main(String[] args) {
  74. FirstLastList theList = new FirstLastList();
  75.  
  76. theList.insertFirst(22);
  77. theList.insertFirst(44);
  78. theList.insertFirst(66);
  79.  
  80. theList.insertLast(11);
  81. theList.insertLast(33);
  82. theList.insertLast(55);
  83.  
  84. theList.displayList();
  85.  
  86. theList.deleteFirst();
  87. theList.deleteFirst();
  88.  
  89. theList.displayList();
  90. }
  91. }

  

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

  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学习之—链表(4)

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

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

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

  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. 采用BitMap从20亿个int正整数中找出相同的数字

    所谓的BitMap就是用一个bit位来标记某个元素所对应的value,而key即是该元素,由于BitMap使用了bit位来存储数据,因此可以大大节省存储空间. public class Test { ...

  2. ESP8266 HTTP 项目(2)HTTP网页修改WIFI连接,上电自动连接上次的WIFI。

    网页 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf ...

  3. [MicroPython]TPYBoard开发板DIY小型家庭气象站

    对于喜欢登山的人来说,都会非常关心自己所处的高度跟温度,海拔高度的测量方法,海拔测量一般常用的有两种方式,一是通过GPS全球定位系统,二是通过测出大气压,根据气压值算出海拔高度. BMP180是一直常 ...

  4. 典型分布式系统分析:Bigtable

    本文是典型分布式系统分析的第三篇,分析的是Bigtable,一个结构化的分布式存储系统. Bigtable作为一个分布式存储系统,和其他分布式系统一样,需要保证可扩展.高可用与高性能.与此同时,Big ...

  5. kmeans聚类理论篇

    前言 kmeans是最简单的聚类算法之一,但是运用十分广泛.最近在工作中也经常遇到这个算法.kmeans一般在数据分析前期使用,选取适当的k,将数据分类后,然后分类研究不同聚类下数据的特点. 本文记录 ...

  6. docker部署nginx

    1. 下载nginx [root@localhost my.Shells]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/ ...

  7. 面试 6:拓展性更好的代码,更容易拿到 Offer

      今天给大家带来的是 <剑指 Offer>习题:调整数组顺序使奇数位于偶数前面,纯 Java 实现希望大家多加思考. 面试题:输入一个整型数组,实现一个函数来调整该数组中的数字的顺序,使 ...

  8. Java和.NET(C#)的开发用到的技术对比总结

    前言 声明:我指的是一般的Java和.NET(C#)的后台开发用到的技术总结 最近一直在应聘ing,楼主的项目还是.NET(C#)项目居多,Java项目相对少,在这也吐槽下,招.NET(C#)的公司实 ...

  9. 朱晔和你聊Spring系列S1E6:容易犯错的Spring AOP

    阅读PDF版本 标题有点标题党了,这里说的容易犯错不是Spring AOP的错,是指使用的时候容易犯错.本文会以一些例子来展开讨论AOP的使用以及使用过程中容易出错的点. 几句话说清楚AOP 有关必要 ...

  10. Log4.Net 在Winform、MVC、ashx程序里的使用,ashx程序里使用异步

    最近做一个双11活动的,是一套相关的H5页面.本来以为难度不大,但是做下来几天还是遇到些问题.就总结一下吧,还是有收获的. 1.在H5页面中,有一个遮罩层,还是挺有意思的.直接用div+css控制遮罩 ...