<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
線性表(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 資料結構的順序表內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45