關於鏈隊是否需要頭節點?

2021-10-13 22:40:57 字數 688 閱讀 9327

佇列是一種特殊的線性表,它只允許在表頭進行刪除操作,而在表尾進行插入操作,是一種先進先出的資料結構。

佇列可以採用陣列儲存,也可以採用鏈式儲存。

關於鏈式儲存常見的又有兩種:

帶頭結點和不帶頭結點。我們建議採用帶頭結點的實現方式,因為,這樣可以大大簡化對佇列的處理。

公號眾陸小馬獲取更多資料。

typedef int datatype;

typedef struct node

listnode, *linknode;

typedef struct

linkqueue;

帶頭結點的鏈隊入隊實現:

void enqueue(linkqueue* q, datatype x)
不帶頭結點的鏈隊入隊實現:

void enqueue(linkqueue* q, datatype x)

q->rear->next = p;

q->rear = p;

}

比較上面兩段程式,帶頭結點的鏈隊的入隊操作,只要把新生成的結點加到尾結點後即可。而不帶頭結點的操作則還要注意到邊界操作,假如是第一次入隊,需修改隊頭指標。同樣的道理,對於出隊操作,假如是最後乙個結點出隊,需要注意修改隊尾指標。由此,我們建議鏈式佇列最好採用帶頭結點的實現方式。

關於鏈式佇列是否需要頭結點

華清遠見嵌入式學院 講師。佇列是一種特殊的線性表,它只允許在表頭進行刪除操作,而在表尾進行插入操作,是一種先進先出的資料結構。佇列可以採用陣列儲存,也可以採用鏈式儲存。關於鏈式儲存常見的又有兩種 帶頭結點和不帶頭結點。我們建議採用帶頭結點的實現方式,因為,這樣可以大大簡化對佇列的處理。typedef...

關於鏈式佇列是否需要頭結點

華清遠見嵌入式學院 講師。佇列是一種特殊的線性表,它只允許在表頭進行刪除操作,而在表尾進行插入操作,是一種先進先出的資料結構。佇列可以採用陣列儲存,也可以採用鏈式儲存。關於鏈式儲存常見的又有兩種 帶頭結點和不帶頭結點。我們建議採用帶頭結點的實現方式,因為,這樣可以大大簡化對佇列的處理。typedef...

關於鏈式佇列是否需要頭結點

華清遠見嵌入式培訓中心 講師。佇列是一種特殊的線性表,它只允許在表頭進行刪除操作,而在表尾進行插入操作,是一種先進先出的資料結構。佇列可以採用陣列儲存,也可以採用鏈式儲存。關於鏈式儲存常見的又有兩種 帶頭結點和不帶頭結點。我們建議採用帶頭結點的實現方式,因為,這樣可以大大簡化對佇列的處理。typed...