線性表——鏈式儲存與順序儲存的一些區別
阿新 • • 發佈:2022-01-02
順序儲存結構的線性表
data
: 給出線性表儲存空間的起始地址;max
: 指明線性表儲存空間最多可儲存的資料元素個數;len
: 當前線性表裡的資料元素個數。(可以直接進行修改操作 例如len--)
順序儲存結構的線性表進行增刪的特點是:直接移動資料元素。
- 增加:把要增加的後一個元素開始全部往後面移一位。
- 刪除:把要刪除的後一個元素開始全部往前面覆蓋一位,並進行len--。
鏈式儲存結構的線性表
front
: 指向連結串列的首結點;rear
: 指向尾結點;curr
: 指向操作的當前位置的結點;pre
: 指向當前位置的前一個結點;position
: 是當前位置的編號(編號從 0 開始);len
: 資料元素的個數(即連結串列的長度)。
鏈式儲存結構的線性表進行增刪的特點是:靈活修改頭尾指標。
-
增加:新增一個結點newNode,依次對頭尾指標進行移交工作;
newNode->next = llist->curr->next ; //把原生1、2的next連線關係移交給3、2
llist->curr->next = newNode ; //把原生1的next連線關係移交給1、3
llist->prev = llist->curr ; //將prev關係從1的前方移交給3的前方(即1本身)
llist->position ++ ; //整體長度+1
-
刪除:直接修改連結關係進行移交工作;
llist->pre->next = llist->curr->next ;