Java演算法結構 線性表

2021-06-19 00:15:30 字數 2017 閱讀 2631

線性表是一種最常用,最簡單的線性結構。線性表的主要操作特定是,可以在任意位置上插入乙個資料元素和刪除乙個資料元素。線性表可以用順序儲存結構和鏈式儲存結構實現。用順序儲存結構實現的線性表稱為順序表,用鏈式儲存結構實現的線性表稱為鍊錶。鍊錶主要有單鏈表、迴圈單鏈表和迴圈雙鏈表三種。

線性表的定義

如果乙個資料元素序列滿足:

1、除第乙個和最後乙個資料元素外,每個資料元素只有乙個前驅資料元素和乙個後繼資料元素。

2、第乙個資料元素沒有前驅資料元素。

3、最後乙個資料元素沒有後繼元素。

則稱這樣的資料結構為線性結構。

線性表是一種可以在任意位置進行插入和刪除資料元素操作的、由n(n>=0)個相同型別的資料元素a1,a2,a3,a4組成的線性結構。

線性表的抽象資料型別

1、資料集合:線性表的資料元素集合可以表示為序列a1,a2,a3,a4,每個資料元素的資料型別可以是任意的類型別。

2、操作集合:1、求當前資料元素的個數。

2、插入指定位置資料元素

3、刪除指定位置資料元素

4、取出指定位置的資料元素

5、判斷線性表是否為空

例項**:

順序儲存結構-----線性表介面**:

package com.algorithm;

//建立順序儲存---線性表(介面)

public inte***ce linear

順序儲存結構----線性表例項類**:

package com.algorithm;

public class linearexample implements linear

public linearexample(int sz)

//線性表初始化方法

public void initiate(int length)

@override

public boolean delete(int position) else if(size==0)elseelse

return object;

}@override

public boolean insert(int position, object object) else if(position<0||position>size)else

//線性表--資料儲存

listarray[position]=object;

//大小新增

size++;

return target;

} } @override

public boolean isempty()

return target;

} @override

public int size()

}

**例項呼叫:

public class arraytest {

public static void main(string args){

//順序儲存--線性表

linearexample exaple=new linearexample(10);

//線性表資料插入

exaple.insert(0, "1");

exaple.insert(1, "2");

exaple.insert(2, "3");

exaple.insert(3, "4");

exaple.insert(4, "5");

exaple.insert(5, "6");

exaple.insert(6, "7");

exaple.insert(7, "8");

exaple.insert(8, "9");

exaple.insert(9, "10");

//輸出線性表儲存

線性結構 線性表

線性結構 線性表 棧 佇列 串和陣列 線性結構的特點 除了第乙個元素和最後乙個元素外,每個資料元素有乙個前驅和乙個後繼,線性表是最簡單 最基本 最常用的資料結構,它有順序儲存和鏈式儲存兩種儲存方案 線性表是n個資料元素的有限序列,在表中,元素之間存在著線性的邏輯關係 特點 同一性 線性表由同類元素組...

線性結構 線性表

資料結構是 adt abstract data type,資料抽象型別 的物理實現。什麼是線性表?線性表 由同型別的資料元素構成有序序列的線性結構 兩種實現模型 順序表,鍊錶 資料物件集 n個元素構成的有序序列 初始化鍊錶 init 返回鍊錶長度 len 判斷為空 is empty 指定位置新增 i...

線性結構 線性表

由同型別資料元素構成有序序列的線性結構 list makeempty int find elementtype x,list ptrl void insert elementtype x,int i,list ptrl if i 1 i ptrl last 2 for j ptrl last j i...