A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 即墨 中级黑马   /  2016-5-22 23:47  /  1002 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package com.heima.test;

  2. import com.heima.bean.Child;

  3. public class Test08_Linked {


  4.         public static Child lastChild;
  5.         public static Child first;
  6.        
  7.         public static void main(String[] args) {
  8.                 addTo(8);
  9.                 //showChild();
  10.                 Child c = deleteChild();
  11.                 System.out.println("最后剩下的小孩是" + c);
  12.         }
  13.        
  14.         public static Child deleteChild() {
  15.                 Child c = first;

  16.                 for (int i = 1; c.getNext() != c; c = c.getNext(), i++) {
  17.                         if (i % 3 == 0) {
  18.                                 remove(c);
  19.                                 System.out.println(c + "离开了我们。");
  20.                         }
  21.                 }
  22.                 System.out.println("最后留下来的是" + c);
  23.                 return(c);
  24.                
  25.                
  26.         }
  27.        
  28.         public static void showChild() {
  29.                 Child c = first;
  30.                 while (true) {
  31.                         System.out.print(c);
  32.                         c = c.getNext();
  33.                         if(c == first) {
  34.                                 break;
  35.                         }
  36.                        
  37.                 }
  38.         }
  39.        

  40.         public static void addTo(int num) {
  41.                 for (int i = 0; i < num; i++) {
  42.                         Child c = new Child("小孩", i + 1);
  43. //                        System.out.println(c);
  44.                         if (i == 0) {
  45.                                 first = c;
  46.                         } else if (i == num - 1) {
  47.                                 lastChild.setNext(c);
  48.                                 first.setPrevious(c);
  49.                                 c.setNext(first);
  50.                                 c.setPrevious(lastChild);
  51.                                
  52. //                                System.out.println(c.getNext());
  53. //                                System.out.println(c.getPrevious());
  54. //                                System.out.println(c);
  55.                         } else {
  56.                                 lastChild.setNext(c);
  57.                                 c.setPrevious(lastChild);
  58. /*                                System.out.println("----------");
  59.                                 System.out.println(c);
  60.                                 System.out.println(c.getNext());
  61.                                 System.out.println(c.getPrevious());*/
  62.                         }
  63.                         lastChild = c;
  64.                 }
  65.         }
  66.        
  67.         public static void remove(Child c) {
  68.                 c.getPrevious().setNext(c.getNext());
  69.                 c.getNext().setPrevious(c.getPrevious());
  70.         }
  71. }
复制代码

2 个回复

倒序浏览
沙发占楼
回复 使用道具 举报
水水更健康
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马