1. 程式人生 > >線性表(存儲結構數組)--Java 實現

線性表(存儲結構數組)--Java 實現

log 遍歷數組 int 附加 arch 無序 過去 play out

 1 /*線性表的數組實現
 2  *特點:插入刪除慢需要平均移動一半的數據,查找較快
 3  *註意:有重復和無重復的數據對應的操作會有些不同
 4  *註意數組一旦創建其大小就固定了
 5  *Java集合長度可變是由於創建新的數組將原來舊的數據復制過去--這些附加功能犧牲了效率
 6  *主要實現以下幾個功能
 7  *1.線性表查找
 8  *2.線性表刪除
 9  *3.線性表的插入存儲一個元素(無序數組插入)
10  * */
11 public class MyArray {
12     
13     private long[] arr;
14     private int items;//
記錄數組元素個數--關鍵 15 16 public MyArray(int max) {//max記錄數組長度 17 this.arr = new long[max]; 18 items = 0; 19 } 20 21 public int size(){ 22 return items; 23 } 24 //按照值查找 25 public boolean find(long searchKey){ 26 int index = 0; 27 for(int i = 0; i < items; i++){
28 if(searchKey == arr[i]){ 29 index = i; 30 break; 31 } 32 } 33 if(index == items){ 34 return false; 35 } 36 else{ 37 return true; 38 } 39 } 40 41 //存儲元素 42 public void
insert(long key){ 43 arr[items] = key; 44 items++; 45 } 46 47 //刪除一個元素--按照值 48 public boolean delete(long key){ 49 //遍歷數組--先找到元素 50 int i; 51 for(i = 0; i < items; i++){ 52 if(key == arr[i]){ 53 break; 54 } 55 } 56 if(i== items){ 57 return false; 58 } 59 else{ 60 //向左邊移動操作 61 for(int k = i;k < items; k++){ 62 arr[k] = arr[k+1]; 63 } 64 items--; 65 return true; 66 } 67 } 68 69 public void displayArray(){ 70 for(int i = 0;i < items;i++){ 71 System.out.print(arr[i] + " "); 72 } 73 System.out.println(); 74 } 75 }

線性表(存儲結構數組)--Java 實現