數據結構之鏈表與順序表(基礎)

一、順序表

1.順序表是基於一維數組實現的

2.順序表的長度(length)應該比數組長度(maxsize)小


3.順序表的插入、刪除、查找

(1.)插入

在表中第i個位置插入一個新的元素x,表的長度加1,最後的元素像後移。知道把第i個位置空出來,把新元素插入進去。如圖所示



(2.)刪除

在表中第i個位置刪除一個元素x,表的長度減1。如圖所示


(3.)查找

順序表中第i個元素存在第i-1的位置上,實現按位查找,時間複雜度爲O(1)


二、鏈表

1.鏈表存儲是有一個數據域data、一個指針域 next ,一個數據域加上一個指針域稱作爲一個節點,指針域指向下一個節點

2.p->data 表示當前元素的數據域 p->next 表示指向下一個節點

3.鏈表的插入、刪除、查找

(1.)插入

如果想要在第i個位置插入數據,s->next=p->next;p->next=s;


(2.)刪除

如果想要刪除i位置的元素,q=p->next;x=q->data;p->next=q->next;


(3.)查找

及時知道想訪問的節點,也不能直接查找,也需要一個指針域查找下一個節點,一個個查找

三、鏈表與順序表區別

1.針對於刪除、插入,還是鏈表時間複雜度低

2.查找的話,還是順序表比較快,時間複雜度低

四、以上如有錯誤,歡迎隨時交流,期待共同進步

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