順序表,單鏈表的刪除和插入

開發工具與關鍵技術:數據結構
作者:聽民謠的老貓
撰寫時間:2019/5/7   11:07

線性表

瞭解順序表,單鏈表的刪除和插入之前我們先簡單瞭解一下,什麼是線性表????

  1. 歸屬:線性表是數據結構的一種 。
  2. 基本運算:求表長,遍歷,按編號查找,特徵查找,插入,刪除,排序。
  3. (https://baike.baidu.com/item/%E7%BA%BF%E6%80%A7%E8%A1%A8)主要不講這個,給你們掛個傳送門,不用謝。

 

順序表,單鏈表

   線性表中常見的就是順序表,單鏈表這兩位了。在各個計算機語言中都有廣泛使用

  1. 順序表

順序表你要簡單的理解它的表現形式就是數組了,它是使用一組地址連續的存儲單元依次存儲數據元素,每個元素都前後有序、整整齊齊。要訪問特定元素,可以使用索引訪問(數組的味道),包括理解它的插入刪除你都可以帶着數組的思維理解

順序表的插入

方法代碼

插入數據元素insert(int I,object x)

Public void insert (int i,object x)throws exception       {…….

forint j = size; j>i:j--){ (size實際元素個數)

ListArray[j]=listArray[j-1];

}

ListArray[i]=x;

Size++;

}

圖解

理解:簡單點就是你插入哪個位置  就把哪個位置空出來,這個位置後面的數的位置在原來的基礎上加一,就和插隊一樣i就是你要插入的位置 size就是隊伍的長度

方法代碼爲什麼有省略號???

就是你要插入的位置不能大於實際元素個數,i的值不能大於size  這就更好理解了 你插隊不可能插在最後面,假如隊伍長度是6,難道隊插在7???

順序表的刪除

方法代碼

Public object delete(int i)throws exception  {…….

Object it = listArray[i]

for(int j =i:j<size-1:j++)

ListArray[j]=listArray[j+1];

Size--; 

rturn it:

}

圖解

順序表的刪除和插入差不多,隊伍少了一個元素 那後面的元素就往前補,並且位置加一,同樣刪除的元素不能大於隊伍的長度,和插入同理。

listArray[i]的作用: 備份刪除元素,防止數據丟失

 

  1. 單鏈表的刪除和插入

單鏈表的插入

單鏈表數據域(data) 存儲元素的數組數據,指針域(next),單鏈表不像順序表,它不需要地址連續的單元來存儲線性表

圖解:

 

  

你插入位置是三你要把你的數據域(data)賦值給你的前面元素的指針域(next),

同樣你的指針域(next)獲得你後面元素的數據域(data)

用圖解來解釋就是 你插入的元素在a2後面,a3前面  那麼a2的指針域(next)的值變成了你的數據域(data)的值,同時你插入元素的指針域(next)的值也變成了a3的數據域(data)的值。

 

單鏈表的刪除

理解:

刪除就比較簡單了 ,假如你刪除元素位置2,那麼就移除a2a2消失,那麼a1的指針域(next)的值就變成了a3的數據域(data)的值;

 

這就是順序表和鏈表的刪除和插入

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章