public
inte***ce linearlist
/**
* 實現線性表的新增、插入、查詢、刪除、判斷是否存在元素等功能
* @author crystal
* @date 2016-5-13 15:01
*/public class
mylinearlist
implements
linearlist
public mylinearlist(int capacity)
elements = new object[capacity];
}@override
public int size()
/*** 新增,新增之前需要判斷是否需要擴容
*/@override
public boolean add(t t)
/*** 插入元素需要把插入元素之後的元素下標向後移動一位
* 插入之前需要判斷是否需要擴容
*/@override
public boolean insert(int i, t t)
if(i > size)
ensurecapacity(size + 1); //擴容
for (int j = size - 1; j >=i; j--)
elements[i] = t; //賦值插入的值
size++; //增大size
return
true;
}/**
* 查詢
*/@override
public t getelement(int i)
if(i > size)
return (t) elements[i];
}/**
* 擴容
* @param mincapacity
*/private void ensurecapacity(int newcapacity)
}/**
* 刪除元素,需要將刪除元素的下標之後的元素先向前移動一位,然後將最後下標的元素置為空並遞減size
*/@override
public boolean remove(object obj)
elements[size - 1] = null;
size--;
}return
true;
}/**
* 判斷元素是否存在
*/@override
public int indexof(object obj)
}}else}}
return -1;
}/**
* 根據下標刪除線性表中對應的元素
*/@override
public boolean removeindex(int i)
for (int j = i + 1; j < size; j++)
elements[size - 1] = null;
size--;
return
true;
}}
1、順序儲存結構線性表在插入、刪除元素都需要移動插入位置後和刪除元素位置之後的下標向後和向前移動一位,這樣在元素多的情況下效率比較慢。
2、而在查詢方面效率較快。
所以建議一般在元素比較穩定,而且不經常做插入、刪除操作的情況下,比較適合查詢的操作。
線性表定義 線性表順序儲存結構
線性表 由零個或多個資料元素組成的有限序列。簡單的說,就像排隊一樣,具有先一樣性質的結構。關鍵 資料元素的個數稱為線性表的長度,當線性表長度為零時,稱為空表。表起始位置稱表頭,表結束位置稱表尾。線性表有兩種物理儲存結構 順序儲存結構和鏈式儲存結構。物理上的儲存方式事實上就是在記憶體中找個初始位址,然...
線性表線性(順序)儲存結構
實現順序表的曾刪查操作 元素結構體 define maxsize 100 線性表的最大長度 typedef int elemtype elemtype為線性表元素的型別 typedef struct sequenlist 插入操作 bool insertinseqlist sequenlist l,...
線性表的順序儲存 線性表的順序儲存結構
1,本文實現乙個線性表 2,順序儲存定義 1,線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表中的資料元素 2,在 c 中可以用乙個陣列作為介質來儲存資料元素 3,設計思路 1,可以用一維陣列實現順序儲存結構 1,儲存空間 t m array 2,當前長度 int m length...