順序表
順序表是用一段實體地址連續的儲存單元依次儲存資料元素的線性結構,一般情況下採用陣列儲存。在陣列上完成資料的增刪查改。
順序表一般可以分為:
// 順序表的元素型別 int
public
class
myarraylist
// 增(重點)
//尾插
public
void
pushback
(int element)
//頭插
public
void
pushfront
(int element)
array[0]
= element;
size++;}
//將element插入到下標為index的位置上
public
void
insert
(int index,
int element)
ensurecapacity()
;for
(int i = size -
1; i >= index; i--
) array[index]
= element;
size++;}
// 刪(重點)
//尾刪
public
void
popback()
array[
--size]=0
;}//頭刪
public
void
popfront()
for(
int i =
0; i < size -
1; i++
) array[
--size]=0
;}//刪除index下標的值
public
void
earse
(int index)
if(index <
0|| index >= size)
for(
int i = index +
1; i < size; i++
) array[
--size]=0
;}// 查
// 改
// 列印
public
void
print()
system.out.
println()
;}// 保證容量夠用,否則進行擴容
private
void
ensurecapacity()
int newcapacity = array.length *2;
int[
] newarray =
newint
[newcapacity]
;for
(int i =
0; i < size; i++
) array = newarray;
}// 返回 element 在順序表中的下標,如果出現多次,返回第一次出現的下標
public
intindexof
(int element)
}return-1
;}//返回index下標所在的element值
public
intget
(int index)
return array[index];}
//更新index下標的值
public
void
set(
int index,
int element)
array[index]
= element;
}// 刪除掉某乙個元素,如果出現多次,刪除第一次出現的
public
void
remove
(int element)
}public
intsize()
public
boolean
isempty()
//刪除所有的element值
public
void
removeall
(int element)
*/int newarray = new int[array.length];
int j = 0;
for (int i = 0; i < size; i++)
}array = newarray;
size = j;
*/int j =0;
for(
int i =
0; i < size; i++)}
size = j;
}public
static
void
main
(string[
] args)
}
資料結構 順序表的基本操作
計算機中線性表的存放結構主要有兩種 順序儲存結構和鏈式儲存結構。採用前者存放方式的線性表是順序表,採用後者的就是我們平時所說的鍊錶 線性鍊錶 這裡先對順序表的一些基本操作進行歸納和總結,鍊錶的將在後面的文章中歸納總結。順序表的表示,一般都是借助一維陣列。c 語言定義其結構如下 const int m...
資料結構 順序表的基本操作
main include include define true 1 define error 0 define ok 1 define false 0 define overflow 2 typedef int status typedef int elemtype define list ini...
資料結構 順序表的基本操作
老規矩先來看一下題目 本題要求實現順序表元素的增 刪 查詢以及順序表輸出共4個基本操作函式。l是乙個順序表,函式status listinsert sq sqlist l,int pos,elemtype e 是在順序表的pos位置插入乙個元素e pos應該從1開始 函式status listdel...