java:手写MyLinkedList所有方法,增删改查

package arrays.myArray;

public class MyLinkedList {
 private int size = 0;
 private Node1 head = null;

 // 添加
 public void add(Object obj) {
  add(size, obj);
 }

 // 修改
 public void add(int index, Object obj) {
  if (null == head) {
   head = new Node1(obj, null);
  } else {
   if (0 == index) {
    head = new Node1(obj, head);
   } else {
    Node1 temp = head;
    for (int i = 0; i < index - 1; i++) {
     temp = temp.next;
    }
    temp.next = new Node1(obj, temp.next);
   }
  }
  size++;
 }

 // 移除
 public void remove(int index) {
  if (0 == index) {
   head = head.next;
  } else {
   Node1 temp = head;
   for (int i = 0; i < index - 1; i++) {
    temp = temp.next;
   }
   temp.next = temp.next.next;
  }
  size--;
 }

 // 查询
 public Object get(int index) {
  Node1 temp = head;
  for (int i = 0; i < index; i++) {
   temp = temp.next;
  }
  return temp.obj;
 }

 // 总长度
 public int size() {
  return size;
 }

}

class Node1 {
 Object obj;
 Node1 next;

 public Node1(Object obj, Node1 next) {
  this.obj = obj;
  this.next = next;
 }
}

posted on 2010-05-17 12:27  快乐每一天Joe  阅读(181)  评论(0编辑  收藏  举报

导航