1. 程式人生 > 其它 >線性表——鏈式儲存與順序儲存的一些區別

線性表——鏈式儲存與順序儲存的一些區別

順序儲存結構的線性表


  

  • 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 ;