定於陣列最常用的兩種方法
int arr = new int[3];
int arr = new int;
我們會發現長度都是不可變的,如何解決這個問題呢?
如何給長度為3的飽和陣列中再新增乙個元素呢?? 仔細想想,我們可以這樣做
public static void main(string args) ;
system.out.println(arrays.tostring(arr));
int dst = 4;
//建立乙個新的陣列,長度是原陣列長度+1
int arr1 = new int[arr.length+1];
//把原陣列中的資料全部複製到新陣列中
for (int i = 0; i < arr.length; i++)
//把目標元素放入新陣列最後
arr1[3] = dst;
//新陣列替換原陣列
arr = arr1;
system.out.println(arrays.tostring(arr));
}
如何 刪除陣列中的元素呢?
public static void main(string args) ;
system.out.println(arrays.tostring(arr));
//要刪除元素的下標
int dst = 3;
//建立乙個新的陣列
int arr1 = new int[arr.length-1];
//複製原陣列中除了要刪除元素以外的所有元素
for (int i = 0; i < arr1.length ; i++) ;
int target = 9;
int left = 0;
int right = arr.length-1;
while (true) else if(arr[mid] < target) else
//若左邊元素下標已經大於等於右邊元素下標時還沒有跳出迴圈,說明找不到此元素
if(left >= right)
}}
線性結構0 陣列佇列
佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。使用陣列模擬佇列,首先編寫乙個arrayqueue類class arrayqueue 新...
資料結構之線性陣列
傳入結構體變數的位址和動態陣列的長度,初始化結構體變數str,str的有效長度賦值為0,str的總長度賦值為len,str的base指向malloc動態分配的陣列 void init list struct student str,int len str cent 0 str length len ...
資料結構 線性結構 棧 佇列 陣列
棧和佇列是插入 刪除受限制 只能在表的一端插入 刪除,不能從中間插入 刪除 的線性表。它們的儲存結構,以及儲存結構下不同操作的屬性和普通線性表是一樣的。因為受限制,理解起來反而更簡單。棧 lifo last in first out 是後進先出的線性表,採用順序儲存時,稱順序棧 採用鏈式儲存時,稱鏈...