gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

實(shí)例詳解Java順序表和鏈表

本篇文章給大家?guī)?lái)了關(guān)于java的相關(guān)知識(shí),其中主要介紹了關(guān)于順序表和鏈表的相關(guān)內(nèi)容,順序表就是一個(gè)數(shù)組,是用一段物理地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)數(shù)據(jù)元素的線性結(jié)構(gòu),下面一起來(lái)看一下,希望對(duì)大家有幫助。

實(shí)例詳解Java順序表和鏈表

程序員必備接口測(cè)試調(diào)試工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api設(shè)計(jì)、調(diào)試、文檔、自動(dòng)化測(cè)試工具
后端、前端、測(cè)試,同時(shí)在線協(xié)作,內(nèi)容實(shí)時(shí)同步

推薦學(xué)習(xí):《java視頻教程》

1. 線性表

線性表(linear list)是n個(gè)具有相同特性的數(shù)據(jù)元素的有限序列。 線性表是一種在實(shí)際中廣泛使用的數(shù)據(jù)結(jié)構(gòu),常見(jiàn)的線性表:順序表、鏈表、棧、隊(duì)列、字符串…

線性表在邏輯上是線性結(jié)構(gòu),也就說(shuō)是連續(xù)的一條直線。但是在物理結(jié)構(gòu)上并不一定是連續(xù)的,線性表在物理上存儲(chǔ)時(shí),通常以數(shù)組和鏈?zhǔn)浇Y(jié)構(gòu)的形式存儲(chǔ)。

實(shí)例詳解Java順序表和鏈表

2. 順序表

其實(shí)就是一個(gè)數(shù)組。【增刪查改】那為什么還有寫一個(gè)順序表,直接用數(shù)組就好了嘛?不一樣,寫到類里面 將來(lái)就可以 面向?qū)ο罅恕?/p>

2.1 概念及結(jié)構(gòu)

順序表是用一段物理地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)數(shù)據(jù)元素的線性結(jié)構(gòu),一般情況下采用數(shù)組存儲(chǔ)。在數(shù)組上完成數(shù)據(jù)的增刪查改。

順序表一般可以分為:

  • 靜態(tài)順序表:使用定長(zhǎng)數(shù)組存儲(chǔ)。
  • 動(dòng)態(tài)順序表:使用動(dòng)態(tài)開(kāi)辟的數(shù)組存儲(chǔ)。

靜態(tài)順序表適用于確定知道需要存多少數(shù)據(jù)的場(chǎng)景.

靜態(tài)順序表的定長(zhǎng)數(shù)組導(dǎo)致N定大了,空間開(kāi)多了浪費(fèi),開(kāi)少了不夠用.

相比之下動(dòng)態(tài)順序表更靈活, 根據(jù)需要?jiǎng)討B(tài)的分配空間大小.

2.2 接口實(shí)現(xiàn)

我們來(lái)實(shí)現(xiàn)一個(gè)動(dòng)態(tài)順序表. 以下是需要支持的接口.

實(shí)例詳解Java順序表和鏈表

這里我們挨個(gè)拆解出來(lái):

public class MyArrayList {      public int[] elem;     public int usedSize;//有效的數(shù)據(jù)個(gè)數(shù)      public MyArrayList() {         this.elem = new int[10];     }     // 打印順序表public void display() {          }     System.out.println();}// 獲取順序表長(zhǎng)度public int size() {     return 0;}// 在 pos 位置新增元素public void add(int pos, int data) {}// 判定是否包含某個(gè)元素public boolean contains(int toFind) {     return true;}// 查找某個(gè)元素對(duì)應(yīng)的位置public int search(int toFind) {     return -1;}// 獲取 pos 位置的元素public int getPos(int pos) {     return -1;}// 給 pos 位置的元素設(shè)為 valuepublic void setPos(int pos, int value) {}//刪除第一次出現(xiàn)的關(guān)鍵字keypublic void remove(int toRemove) {}// 清空順序表public void clear() {}}
登錄后復(fù)制

這是我們順序表的基本結(jié)構(gòu)。下面我們就把順序表的功能一個(gè)一個(gè)拆解出來(lái):

打印數(shù)據(jù)表:

public void display() {     for (int i = 0; i < this.usedSize; i++) {         System.out.print(this.elem[i] + " ");     }     System.out.println();}
登錄后復(fù)制

獲取順序表長(zhǎng)度:

public int size() {     return this.usedSize;}
登錄后復(fù)制

在 pos 位置新增元素:

public void add(int pos, int data) {     if(pos < 0 || pos > this.usedSize) {         System.out.println("pos 位置不合法");         return;     }     if(isFull()){         this.elem = Arrays.copyOf(this.elem,2*this.elem.length);     }     for (int i = this.usedSize-1; i >= pos; i--) {         this.elem[i + 1] = this.elem[i];     }     this.elem[pos] = data;     this.usedSize++;}//判斷數(shù)組元素是否等于有效數(shù)據(jù)個(gè)數(shù)public boolean isFull() {     return this.usedSize == this.elem.length;}
登錄后復(fù)制

判斷是否包含某個(gè)元素:

public boolean contains(int toFind) {     for (int i = 0; i < this.usedSize; i++) {         if (this.elem[i] == toFind) {             return true;         }     }     return false;}
登錄后復(fù)制

查找某個(gè)元素對(duì)應(yīng)的位置:

public int search(int toFind) {     for (int i = 0; i < this.usedSize; i++) {         if (this.elem[i] == toFind) {             return i;         }     }     return -1;}
登錄后復(fù)制

獲取 pos 位置的元素:

public int getPos(int pos) {     if (pos < 0 || pos >= this.usedSize){         System.out.println("pos 位置不合法");         return -1;//所以 這里說(shuō)明一下,業(yè)務(wù)上的處理,這里不考慮     }     if(isEmpty()) {         System.out.println("順序表為空!");         return -1;     }     return this.elem[pos];}//判斷數(shù)組鏈表是否為空public boolean isEmpty() {     return this.usedSize == 0;}
登錄后復(fù)制

給 pos 位置的元素設(shè)為 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;}//判斷數(shù)組鏈表是否為空public boolean isEmpty() {     return this.usedSize == 0;}
登錄后復(fù)制

刪除第一次出現(xiàn)的關(guān)鍵字key:

public void remove(int toRemove) {     if(isEmpty()) {         System.out.println("順序表為空!");         return;     }     int index = search(toRemove);//index記錄刪除元素的位置     if(index == -1) {         System.out.println("沒(méi)有你要?jiǎng)h除的數(shù)字!");     }     for (int i = index; i < this.usedSize - 1; i++) {         this.elem[i] = this.elem[i + 1];     }     this.usedSize--;     //this.elem[usedSize] = null;引用數(shù)組必須這樣做才可以刪除}
登錄后復(fù)制

清空順序表:

public void clear() {     this.usedSize = 0;}
登錄后復(fù)制

2.3 順序表的問(wèn)題及思考

  1. 順序表中間/頭部的插入刪除,時(shí)間復(fù)雜度為O(N)

  2. 增容需要申請(qǐng)新空間,拷貝數(shù)據(jù),釋放舊空間。會(huì)有不小的消耗。

  3. 增容一般是呈2倍的增長(zhǎng),勢(shì)必會(huì)有一定的空間浪費(fèi)。例如當(dāng)前容量為100,滿了以后增容到200,我們?cè)倮^續(xù)插入了5個(gè)數(shù)據(jù),后面沒(méi)有數(shù)據(jù)插入了,那么就浪費(fèi)了95個(gè)數(shù)據(jù)空間。

思考: 如何解決以上問(wèn)題呢?下面給出了鏈表的結(jié)構(gòu)來(lái)看看。

3. 鏈表

3.1 鏈表的概念及結(jié)構(gòu)

鏈表是一種物理存儲(chǔ)結(jié)構(gòu)上非連續(xù)存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過(guò)鏈表中的引用鏈接次序?qū)崿F(xiàn)的 。

實(shí)例詳解Java順序表和鏈表

實(shí)際中鏈表的結(jié)構(gòu)非常多樣,如果按一般來(lái)分的話就是四種:

  • 單向鏈表

  • 雙向鏈表

  • 循環(huán)鏈表

  • 雙向循環(huán)鏈表

如果細(xì)分的話就有以下情況組合起來(lái)就有8種鏈表結(jié)構(gòu):

  • 單向、雙向
  • 帶頭、不帶頭
  • 循環(huán)、非循環(huán)

這八種分別為:

  • 單向 帶頭 循環(huán)

  • 單向 不帶頭 循環(huán)

  • 單向 帶頭 非循環(huán)

  • 單向 不帶頭 非循環(huán)

  • 雙向 帶頭 循環(huán)

  • 雙向 不帶頭 循環(huán)

  • 雙向 帶頭 非循環(huán)

  • 雙向 不帶頭 非循環(huán)

注:上述加粗是我們重點(diǎn)需要學(xué)習(xí)的!!!

實(shí)例詳解Java順序表和鏈表實(shí)例詳解Java順序表和鏈表實(shí)例詳解Java順序表和鏈表

雖然有這么多的鏈表的結(jié)構(gòu),但是我們重點(diǎn)掌握兩種:

  • 無(wú)頭單向非循環(huán)鏈表:結(jié)構(gòu)簡(jiǎn)單,一般不會(huì)單獨(dú)用來(lái)存數(shù)據(jù)。實(shí)際中
贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
超薄肉色丝袜足j调教99| 国产免费一区二区三区四在线播放| 97超碰人人爽| 久久精品影视大全| 玩弄japan白嫩少妇hd| 无码专区aaaaaa免费视频| 国产 国语对白 露脸| www.18av.com| 中文字幕の友人北条麻妃| 香蕉精品视频在线| 国产又粗又猛又爽又黄的网站| 中国黄色录像片| 一卡二卡三卡视频| 你真棒插曲来救救我在线观看| 亚洲精品无码国产| 国产在线观看福利| 成人性生生活性生交12| 国产一级片自拍| 经典三级在线视频| 丝袜人妻一区二区三区| 免费观看国产精品视频| chinese少妇国语对白| 日本国产一级片| av久久久久久| 日本精品久久久久中文字幕| www.久久久精品| 国产成人艳妇aa视频在线 | 久久久久久久久久网| 妺妺窝人体色www在线小说| 亚洲77777| 久草视频这里只有精品| 青青草av网站| 色呦呦网站入口| 国产成人av影视| 潘金莲一级淫片aaaaa免费看| 野外做受又硬又粗又大视频√| 欧美日韩亚洲一| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 国产精品夜夜夜爽张柏芝| 欧美亚洲国产成人| 浴室偷拍美女洗澡456在线| 777米奇影视第四色| 日韩 欧美 自拍| 久久人人爽av| 玩弄中年熟妇正在播放| 在线播放黄色av| 久久综合伊人77777麻豆最新章节| 在线免费黄色小视频| 宅男噜噜噜66国产免费观看| www插插插无码免费视频网站| 中文字幕第36页| 国产网站免费在线观看| 日韩精品第1页| 91网址在线观看精品| 亚洲欧美激情网| 国产极品美女高潮无套久久久| a天堂资源在线观看| 91大神免费观看| 色综合五月婷婷| 中文字幕在线视频精品| 中文久久久久久| 青青在线视频免费| 国产精品第12页| 久久无码高潮喷水| 国产最新免费视频| 亚洲熟妇无码一区二区三区| 亚洲色欲久久久综合网东京热| 国产免费xxx| 伊人色在线观看| 日产精品久久久久久久蜜臀| 日本新janpanese乱熟| 黄色一级在线视频| 欧美 国产 综合| 亚洲欧洲日产国码无码久久99| 精品少妇人妻av免费久久洗澡| 国产日韩第一页| 2021国产视频| 成人一级生活片| av黄色在线网站| 日本888xxxx| 亚洲欧美日韩精品一区| 特级黄色片视频| 日本黄xxxxxxxxx100| 一卡二卡三卡视频| 无码aⅴ精品一区二区三区浪潮| 中文字幕乱码人妻综合二区三区| 免费激情视频在线观看| 亚洲综合在线网站| 国产第一页视频| 伊人影院综合在线| 午夜天堂在线视频| 毛片av在线播放| 天天摸天天碰天天添| 邪恶网站在线观看| 日韩专区第三页| 99久久久无码国产精品6| 手机在线国产视频| 成人午夜精品久久久久久久蜜臀| 日本中文字幕网址| 久久久久久久久久久久久久久国产| 五月天六月丁香| 四虎永久在线精品无码视频| 日韩av自拍偷拍| 日韩av黄色网址| 亚洲国产欧美91| 成年人免费在线播放| 欧美又黄又嫩大片a级| 97国产在线播放| 激情综合网婷婷| 国产在线拍揄自揄拍无码| 北条麻妃在线一区| 国产肉体ⅹxxx137大胆| 一本色道无码道dvd在线观看| 亚洲高清在线不卡| 99热成人精品热久久66| 一二三四中文字幕| 国产日韩成人内射视频| 看全色黄大色大片| 中文字幕第38页| 成年人视频网站免费观看| 亚洲国产欧美91| 激情综合网婷婷| 欧美极品欧美精品欧美| 狠狠精品干练久久久无码中文字幕 | 久久久久久久久久久久久国产| 国产主播在线看| 国产精彩视频一区二区| 4444在线观看| 亚洲国产精品三区| 国产免费成人在线| 国产美女主播在线播放 | 青娱乐国产精品视频| 午夜免费看视频| 九色91popny| 欧美日韩一区二区在线免费观看 | 国产美女永久无遮挡| 轻点好疼好大好爽视频| 国产精品国产对白熟妇| 99在线精品免费视频| 久艹在线免费观看| 久艹在线免费观看| 人妻内射一区二区在线视频| 欧美黄色一级片视频| www.欧美日本| 艹b视频在线观看| 天天久久综合网| 亚洲最新免费视频| 亚洲国产精品无码观看久久| 18禁免费观看网站| 精品久久久久久久免费人妻| 亚洲国产高清av| 日本xxx免费| 日韩免费视频播放| 亚洲性图一区二区| 免费国产成人看片在线| 人人干视频在线| 国产一级不卡毛片| 免费不卡av网站| 鲁一鲁一鲁一鲁一色| gogogo高清免费观看在线视频| 99re99热| 国产一区二区在线视频播放| 亚洲老女人av| 日韩精品一区二区免费| 超碰97人人射妻| 看全色黄大色大片| 男人舔女人下面高潮视频| 国产又粗又大又爽的视频| av网站在线观看不卡| 成 人 黄 色 小说网站 s色| 欧洲精品在线播放| 亚洲精品视频三区| 各处沟厕大尺度偷拍女厕嘘嘘| 日本中文字幕观看| 1024av视频| 免费看黄色a级片| 亚洲一级免费观看| 久久综合九色综合88i| 国产日韩视频在线播放| 亚洲色精品三区二区一区| www.avtt| 路边理发店露脸熟妇泻火| 中国黄色片免费看| 日本三区在线观看| 欧美精品一区免费| 日本国产中文字幕| 日韩欧美中文在线视频| 一路向西2在线观看| 国产精品无码av在线播放| 青青草免费在线视频观看| 亚洲图片 自拍偷拍| 成人在线观看a| 女性女同性aⅴ免费观女性恋| 日本丰满大乳奶| av不卡在线免费观看| aaaaaaaa毛片| 超碰免费在线公开| 可以在线看黄的网站| 老汉色影院首页| 91制片厂免费观看|