<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    tbwshc

    實(shí)現(xiàn)單鏈表的用java簡單的基本操作

    package com.tyxh.link;
      //節(jié)點(diǎn)類
      public class Node {
      protected Node next; //指針域
      protected int data;//數(shù)據(jù)域
      public Node( int data) {
      this. data = data;
      }
      //顯示此節(jié)點(diǎn)
      public void display() {
      System. out.print( data + " ");
      }
      }
      package com.tyxh.link;
      //單鏈表
      public class LinkList {
      public Node first; // 定義一個(gè)頭結(jié)點(diǎn)
      private int pos = 0;// 節(jié)點(diǎn)的位置
      public LinkList() {
      this. first = null;
      }
      // 插入一個(gè)頭節(jié)點(diǎn)
      public void addFirstNode( int data) {
      Node node = new Node(data);
      node. next = first;
      first = node;
      }
      // 刪除一個(gè)頭結(jié)點(diǎn),并返回頭結(jié)點(diǎn)
      public Node deleteFirstNode() {
      Node tempNode = first;
      first = tempNode. next;
      return tempNode;
      }

      // 在任意位置插入節(jié)點(diǎn) 在index的后面插入
      public void add(int index, int data) {
      Node node = new Node(data);
      Node current = first;
      Node previous = first;
      while ( pos != index) {
      previous = current;
      current = current. next;
      pos++;
      }
      node. next = current;
      previous. next = node;
      pos = 0;
      }
      // 刪除任意位置的節(jié)點(diǎn)
      public Node deleteByPos( int index) {
      Node current = first;
      Node previous = first;
      while ( pos != index) {
      pos++;
      previous = current;
      current = current. next;
      }
      if(current == first) {
      first = first. next;
      } else {
      pos = 0;
      previous. next = current. next;
      }
      return current;
      }
      // 根據(jù)節(jié)點(diǎn)的data刪除節(jié)點(diǎn)(僅僅刪除第一個(gè))
      public Node deleteByData( int data) {
      Node current = first;
      Node previous = first; //記住上一個(gè)節(jié)點(diǎn)
      while (current. data != data) {
      if (current. next == null) {
      return null;
      }
      previous = current;
      current = current. next;
      }
      if(current == first) {
      first = first. next;
      } else {
      previous. next = current. next;
      }
      return current;
      }
      // 顯示出所有的節(jié)點(diǎn)信息
      public void displayAllNodes() {
      Node current = first;
      while (current != null) {
      current.display();
      current = current. next;
      }
      System. out.println();
      }
      // 根據(jù)位置查找節(jié)點(diǎn)信息
      public Node findByPos( int index) {
      Node current = first;
      if ( pos != index) {
      current = current. next;
      pos++;
      }
      return current;
      }
      // 根據(jù)數(shù)據(jù)查找節(jié)點(diǎn)信息
      public Node findByData( int data) {
      Node current = first;
      while (current. data != data) {
      if (current. next == null)
      return null;
      current = current. next;
      }
      return current;
      }
      }
      package com.tyxh.link;
      //測試類
      public class TestLinkList {
      public static void main(String[] args) {
      LinkList linkList = new LinkList();
      linkList.addFirstNode(20);
      linkList.addFirstNode(21);
      linkList.addFirstNode(19);
      //19,21,20
      linkList.add(1, 22); //19,22,21,20
      linkList.add(2, 23); //19,22,23,21,20
      linkList.add(3, 99); //19,22,23,99,21,20
      linkList.displayAllNodes();
      // Node node = linkList.deleteFirstNode();
      // System.out.println("node : " + node.data);
      // linkList.displayAllNodes();
      // node = linkList.deleteByPos(2);
      // System.out.println("node : " + node.data);
      // linkList.displayAllNodes();
      // linkList.deleteFirstNode();
      Node node = linkList.deleteByData(19);
      // Node node = linkList.deleteByPos(0);
      System. out.println( "node : " + node. data);
      linkList.displayAllNodes();
      Node node1 = linkList.findByPos(0);
      System. out.println( "node1: " + node1. data);
      Node node2 = linkList.findByData(22);
      System. out.println( "node2: " + node2. data);
      }
      }

    posted on 2013-09-10 17:10 chen11-1 閱讀(1329) 評論(0)  編輯  收藏 所屬分類: java

    主站蜘蛛池模板: 亚洲美女视频网址| 1000部啪啪未满十八勿入免费| 亚洲精品在线电影| 亚洲视频人成在线播放| 毛片网站免费在线观看| 午夜免费啪视频在线观看 | 亚洲av无码一区二区三区天堂 | 亚洲免费日韩无码系列| 亚洲国产精品99久久久久久| 亚洲综合在线视频| 亚洲国产精品一区二区久久hs| 免费人妻av无码专区| 噜噜嘿在线视频免费观看| 久久精品免费一区二区| 久久国产免费一区| a级男女仿爱免费视频| 又硬又粗又长又爽免费看| 国产成人亚洲毛片| 亚洲欧美熟妇综合久久久久| 亚洲黄色在线网站| 亚洲视频一区在线| 亚洲黄色在线网站| 亚洲国产精品午夜电影| 亚洲精品国产电影午夜| 老汉色老汉首页a亚洲| 亚洲AV无码一区二区乱孑伦AS| 日本亚洲国产一区二区三区| 亚洲伊人久久综合影院| 全黄a免费一级毛片人人爱| 亚洲精品国产suv一区88| ass亚洲**毛茸茸pics| 亚洲人成网站日本片| 久久精品国产亚洲av麻豆图片 | 国产成人无码区免费内射一片色欲| 一个人看的www在线免费视频| 黄色免费在线观看网址| 一区二区三区在线免费观看视频| 丁香六月婷婷精品免费观看| caoporn成人免费公开| 免费一区二区无码东京热| 国产精品免费福利久久|