关闭

使用Java实现单链表的方法介绍

发表于:2009-9-04 12:16

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

#
java
#
JAVA

  首先构建节点类:

  package com.fzw.sf;
  public class Node {
  private Object data;
  private Node next;
  Node(Object data,Node next){
  this.data = data;
  this.next = next;
  }
  public Object getData() {
  return data;
  }
  public void setData(Object data) {
  this.data = data;
  }
  public Node getNext() {
  return next;
  }
  public void setNext(Node next) {
  this.next = next;
  }
  }

  其次,构建单链表类:

  package com.fzw.sf;
  public class List4j {
  private Node head ;
  private int length;
  public List4j(){
  head = new Node(null,null);
  length = 0;
  }
  public void addhead(Object item){
  Node node = new Node(item,null);
  node.setNext(head.getNext());
  head.setNext(node);
  length++;
  }
  public void addtail(Object item){
  Node node = new Node(item,null);
  Node temp = head;
  while(null != temp.getNext()){
  temp = temp.getNext();
  }
  temp.setNext(node);
  length++;
  }
  public void addindex(Object item,int index){
  Node node = new Node(item,null);
  Node temp = head;
  for(int i=0; i
  temp = temp.getNext();
  }
  node.setNext(temp.getNext());
  temp.setNext(node);
  length++;
  }
  public void find(int index){
  if(index<1 || index >length){
  System.out.print("此位置空!");
  }
  Node temp = head;
  for(int i=0; i
  temp = temp.getNext();
  }
  System.out.println("链表中第"+index+"个位置的值为"+temp.getData());
  }
  public void delindex(int index){
  if(index<1 || index >length){
  System.out.print("位置不存在!");
  }
  Node temp = head;
  for(int i=0; i
  temp = temp.getNext();
  }
  temp.setNext(temp.getNext().getNext());
  length--;
  }
  public void print(){
  Node temp = head;
  while(null != temp.getNext()){
  System.out.println(temp.getNext().getData());
  temp = temp.getNext();
  }
  System.out.println("链表长度为:"+length);
  }
  public static void main(String[] args){
  List4j list = new List4j();
  list.addhead(2);
  list.addhead(3);
  list.addhead(4);
  list.addtail(5);
  list.addindex("第二", 2);
  list.print();
  list.find(3);
  }
  }

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号