您好,登錄后才能下訂單哦!
這篇文章主要介紹了Java數據結構的順序表怎么操作的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Java數據結構的順序表怎么操作文章都會有所收獲,下面我們一起來看看吧。
線性表(linear list)是n個具有相同特性的數據元素的有限序列。 線性表是一種在實際中廣泛使用的數據結構,常見 的線性表:順序表、鏈表、棧、隊列、字符串... 線性表在邏輯上是線性結構,也就說是連續的一條直線。但是在物理結構上并不一定是連續的,線性表在物理上存儲 時,通常以數組和鏈式結構的形式存儲。
順序表是用一段物理地址連續的存儲單元依次存儲數據元素的線性結構,一般情況下采用數組存儲。在數組上完成數據的增刪查改
其實就是一個數組。那為什么還要寫一個順序表,直接用數組不就好了?不一樣的,寫到類里面就可以面向對象。
public class MyArrayList { public int[] elem;//數組 public int usedSize;//數據的有效個數 public MyArrayList(){ this.elem = new int[10]; } }
打印順序表
打印結果:
因為display是根據usedsize打印的, usedsize沒賦值所以什么也不打印。
在順序表里面插入元素的時候所插入的位置的前面一定是存放了元素的,
畫圖分析:
代碼如下:
// 在 pos 位置新增元素 public void add(int pos, int data) { if(pos < 0 || pos > usedSize){ System.out.println("pos位置不合法"); return; } if(isFull()){ this.elem = Arrays.copyOf(this.elem,this.elem.length*2); } for (int i = this.usedSize-1; i >=pos ; i--) { this.elem[i+1] = this.elem[i]; } this.elem[pos] = data; this.usedSize++; } public boolean isFull(){ return this.usedSize == this.elem.length; }
打印結果:
// 判定是否包含某個元素 public boolean contains(int toFind) { for (int i = 0; i < this.usedSize; i++) { if (this.elem[i] == toFind) { return true; } } return false; }
打印結果:
// 查找某個元素對應的位置 public int search(int toFind) { for (int i = 0; i <this.usedSize ; i++) { if(this.elem[i] == toFind){ return i; } } return -1; }
打印結果:
// 獲取 pos 位置的元素 public int getPos(int pos) { if(pos < 0 || pos > this.usedSize){ System.out.println("pos位置不合法"); return -1;//所以,這里說明一下,業務上的處理,這里不考慮 } if (isEmpty()){ System.out.println("順序表為空"); return -1; } return this.elem[pos]; } public boolean isEmpty(){//判斷為不為空的情況下 return this.usedSize == 0; }
打印結果:
// 給 pos 位置的元素設為 value public void setPos(int pos, int value) { if (pos < 0 || pos > this.usedSize) { System.out.println("pos位置不合法"); return ; } if (isEmpty()) { System.out.println("順序表為空"); return; } this.elem[pos] = value; } public boolean isEmpty() {//判斷為不為空的情況下 return this.usedSize == 0; }
打印結果:
//刪除第一次出現的關鍵字key public void remove(int toRemove) { if(isEmpty()){ System.out.println("順序表為空"); return; } int index = search(toRemove);//查找要刪除元素對應的位置 if(index == -1){ System.out.println("沒有你要找到數字"); return; } for (int i = index; i <this.usedSize-1 ; i++) { this.elem[i] = this.elem[i+1]; } this.usedSize--; }
打印結果:
關于“Java數據結構的順序表怎么操作”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Java數據結構的順序表怎么操作”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。