數據結構(java版)學習筆記(一)——線性表

1、線性表的定義

線性表是n(n>=0)個具備相同特性的數據元素的有限序列。java

線性表是最簡單、最經常使用的一種數據結構
數組

線性表屬於線性結構的一種數據結構

 

 

若是一個數據元素序列知足:spa

 

(1)除第一個和最後一個數據元素外,每一個數據元素只有一個前驅數據元素和一個後繼數據元素;code

 

(2)第一個數據元素沒有前驅數據元素;blog

(3)最後一個數據元素沒有後繼數據元素接口

則能夠稱這樣的數據結構爲線性結構rem

2、線性表的種類

線性表的存儲結構主要有兩種,順序存儲結構鏈式存儲結構get

順序存儲結構的存放的線性表稱做爲順序表,用鏈式存儲結構存放的線性表稱爲線性鏈表class

按照這個說法,以前所提到的java中的int數組等一維數組都是能夠稱爲順序表。

使用鏈式存儲結構,則會有前趨和後繼的說法

下列的圖能夠說明一點(圖就這樣子了,別吐槽了。。)

A1做爲開頭,因此沒有前趨,A1的後繼是A2

A2的前趨是A1,後繼則是A3

A3是末尾,因此沒有後繼,A3的前趨是A2

 

3、線性表的運算

基本運算都在圖中了,這裏就很少寫了,因爲咱們是使用java語言描述的,因此咱們可將運算寫成一個接口(抽象類),以後再由類去實現此接口,複寫這些方法,可能這樣說你們都不是很理解,沒有關係,在下一節就會使用到此接口了

 

public interface ListIntf {
    public int size(); //返回表的長度
    public void clear(); //重置表爲空表
    public boolean isEmpty(); //判斷表是否爲空
    public String get(int i); //取得表中第i個元素的值
    public int indexOf(String s);//得到表中與數據元素s相等的第一個元素的位置(位序)
    public String getPre(String s);//得到數據元素s的前趨
    public String getNext(String s);//得到數據元素s的後繼
    public void insertElementAt(String s,int i);//在第i個位置以前插入新的數據元素s,表長度加1
    public String remove(int i);//刪除第i個數據元素,並返回其值,表長度減1
    public String remove(String s); //刪除數據元素s,並返回其值,表長度減1
}
相關文章
相關標籤/搜索