資料結構學習(一) 陣列

2021-09-11 11:47:34 字數 4332 閱讀 1533

2023年2月27日第一次書寫......

2023年7月20日第二次書寫並修改完善......

一:學習之路

二:實現內容:

1.array類裡面實現的眾多陣列的基本操作,包括增、刪、查、改等方法;

2.main函式裡面完成了對array方法的測試,並通過println顯示測試結果;

3.補充了動態陣列以及泛型的方法,使得功能更加全面。

三:**及注釋

1.array類:

package imuhero;

public class array

//無參構造方法

public array()

//初始的簡單方法,獲得元素個數、判斷是否為空、獲得陣列容量大小

public int getsize()

public boolean isempty()

public int getcapacity()

//向任意下標index中插入元素e

public void add(int index,e e)

//將要插入位置後面的所有元素向後移動

for (int i=size;i>index ; i--)

data[index] = e;

size++;//注意要維護size

if (size==capacity)

}//向陣列頭新增元素

public void addfirst(e e)

//向陣列尾新增元素

public void addlast(e e)

//刪除下標為index的元素

public e remove(int index)

for (int i=index;i=size||index<0)

e res = data[index];

data[index]=e;

return res;//返回修改掉的元素值res

}//查詢下標為index處的元素值

public e get(int index)

return data[index];

}//查詢陣列中是否包含元素e

public boolean contain(e e)

system.out.println(test);//觸發擴容機制

system.out.println("********************向陣列頭插入乙個元素:100*******************");

test.addfirst(100);

system.out.println(test);

system.out.println("********************向下標為2的位置插入乙個元素:200*******************");

test.add(2,200);

system.out.println(test);

system.out.println("********************刪除下標為2的元素:200*******************");

test.remove(2);

system.out.println(test);

system.out.println("********************刪除陣列頭的元素:100*******************");

test.removefirst();

system.out.println(test);

system.out.println("********************刪除陣列尾的元素:9*******************");

test.removelast();

system.out.println(test);

system.out.println("********************修改下標2的元素為300*******************");

test.set(2,300);

system.out.println(test);

system.out.println("********************查詢下標2的元素值*******************");

system.out.println("下標2處的值為:"+test.get(2));

system.out.println("********************查詢陣列是否包含某個元素e*******************");

system.out.println("e==300:"+test.contain(300));

system.out.println("e==400:"+test.contain(400));

system.out.println("********************查詢下標元素300的下標值*******************");

system.out.println("元素300的下標為:"+test.find(300));

system.out.println("********************刪除6個元素,檢視容量情況*******************");

for(int i=0;i<7;i++)

system.out.println(test);

}}

result:

********************向陣列尾新增十個元素:*******************

array: size = 10 , capacity = 20

[0,1,2,3,4,5,6,7,8,9]

********************向陣列頭插入乙個元素:100*******************

array: size = 11 , capacity = 20

[100,0,1,2,3,4,5,6,7,8,9]

********************向下標為2的位置插入乙個元素:200*******************

array: size = 12 , capacity = 20

[100,0,200,1,2,3,4,5,6,7,8,9]

********************刪除下標為2的元素:200*******************

array: size = 11 , capacity = 20

[100,0,1,2,3,4,5,6,7,8,9]

********************刪除陣列頭的元素:100*******************

array: size = 10 , capacity = 20

[0,1,2,3,4,5,6,7,8,9]

********************刪除陣列尾的元素:9*******************

array: size = 9 , capacity = 20

[0,1,2,3,4,5,6,7,8]

********************修改下標2的元素為300*******************

array: size = 9 , capacity = 20

[0,1,300,3,4,5,6,7,8]

********************查詢下標2的元素值*******************

下標2處的值為:300

********************查詢陣列是否包含某個元素e*******************

e==300:true

e==400:false

********************查詢下標元素300的下標值*******************

元素300的下標為:2

********************刪除6個元素,檢視容量情況*******************

array: size = 2 , capacity = 5

[0,1]

②實現student的泛型操作

**:student類:

public class student 

@override

public string tostring()

}

main:

package imuhero;

public class main

}

result:

array: size = 3 , capacity = 10

[xiaoxiao的成績是:80, xiaoming的成績是:100, xiaoli的成績是:90]

array: size = 3 , capacity = 10

[one, two, three]

資料結構學習筆記一 資料結構基礎

做個決定,從今天開始,每天一題,把自己每天學的東西寫出來,也算是個學習筆記。駑馬十駕,功在不捨 何謂資料結構?資料結構反映資料的內部構成,即乙個資料由哪些成分資料組成,以什麼樣的形式組成,呈現什麼樣的結構。資料結構包括邏輯上的資料結構和物理上的資料結構。邏輯上的資料結構指的是成分資料之間的邏輯關係,...

(一)資料結構學習筆記《什麼是資料結構》

以下是資料結構基礎理論的小總結 什麼是資料結構 資料結構是在整個電腦科學與技術領域上廣泛被使用的術語。它用來反映乙個資料的內部構成,即乙個資料由那些成分資料構成,以什麼方式構成,呈什麼結構。資料結構有邏輯上的資料結構和物理上的資料結構之分。邏輯上的資料結構反映成分資料之間的邏輯關係,而物理上的資料結...

資料結構學習(一)

資料結構,是相互之間存在一種或多種特定關係的資料元素的集合,資料結構可以分為邏輯結構和物理結構 邏輯結構 是指資料物件中資料元素之間的相互關係 1.集合結構 集合結構中的資料元素除了屬於同乙個集合外,沒有任何關係 2.線性結構 線性結構中的資料元素是一對一的結構關係 3.樹形結構 樹形結構的資料元素...