線性表(存儲結構數組)--Java 實現
阿新 • • 發佈:2017-10-17
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 voidinsert(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 實現