数据结构与算法 线性表

来源:互联网 发布:java总是安装失败 编辑:程序博客网 时间:2024/05/16 06:00

线性表概念: 线性表是一种最简单、常用的数据结构,通常一个线性表是有n(n>=0)个性质相同的数据元素组成的有限序列
            通常记为:(a1, a2, a3, a4, a5 .... an)。

线性表的抽象数据类型:线性表是一个相当灵活的数据结构,它的长度可以根据需要增长或缩短。
    
 public interface List<E>  //线性表接口
 {
    boolean isEmpty();  //判断链表是否为空
    int length();   //返回链表长度
    E get(int index);  //去第index个元素
    void add(E element)  //插入元素
    void add(int index, E element); //在index位置插入元素
    E remove(int index);   //移除index位置元素 并返回该元素
    void clear();  //清除线性表

 }
线性表顺序表示与实现
  线性表的顺序表示; 

                      


单链表

  


   public class Note<E>   //单链表的节点类
   {
      public E date;    //节点数据
      public Note<E> next;   //下一个节点
  
   }
  
   //单链表类
   public class SinglyLinkedList implements List<E>
   {
      protected Note<E> head;   //头指针
      public SinglyLinkedList()   //构造空的单链表
      {
        this.head = null; 
      }

      //添加节点
      public void add(Note<E> note)
      {
         if(head == null)
  {
     head = note;
  }
  else
  {
    Note<E> temp = head;
    while(temp.next != null)
    {
      temp = temp.netx;
    }
    temp.next = note
 
  }
     
      }

      // 省略其他方法
  
   }

 

双链表


   public clas DNote<E>
   {
      public E date;   //节点数据
      public DoubleNote<E> prev, next;   //前驱 后继
  
   }

   参考单链表

原创粉丝点击