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.樹形結構 樹形結構的資料元素...