資料結構 單鏈表實現線性佇列

2021-10-10 11:41:36 字數 1194 閱讀 3422

隊空條件:fron=rear=null

隊滿條件:不考慮

進隊操作:將新的節點插入到鍊錶尾。

出隊操作:刪除鍊錶第乙個節點。

注意出隊和入隊操作

入隊操作要考慮到兩種情況:

1入隊前,隊為空時,隊首和隊尾指標都指向新的節點。

2.入隊後,隊不為空,只動隊尾指標就行。

出隊操作要考慮三種情況:

1.原隊為空,則返回異常。

2.原隊為只有乙個節點,則刪除節點後,都指向null;

3.其他情況,則只操作隊尾就行。

#include #include #include #define error 0

#define ok 1

typedef int status;

#define elemetype_lqu int //鏈式棧資料型別

typedef struct qnode qunode, * lqueue;

typedef struct

liqueue,*liqueue;

/**************鏈式佇列*********************/

void initqueue_lk(liqueue& qu)

status destoryqueue_lk(liqueue& qu)

free(qu);

return ok;

}status enqueue_lk(liqueue& qu, elemetype_lqu e)

else

return ok;

}status dequeue_lk(liqueue& qu, elemetype_lqu& e)

else

e = p->data;

free(p);

return ok;

}bool queueempty_lk(liqueue& qu)

int queuecount_lk(liqueue& qu)

return num;

}/*******************測試********************/

void queuetest_lk()

int main()

資料結構 單鏈表實現

線性表的鏈式儲存結構的特點是用一組任意的儲存單元儲存線性表的資料元素 這組儲存單元可以是連續的,也可以是不連續的 因此,為了表示每個資料元素與其直接後繼資料元素之間的邏輯關係,對資料元素來說,除了儲存其本身的資訊之外,還需儲存乙個指示其直接後繼的資訊 即直接後繼的儲存位置 這兩部分資訊組成資料元素的...

資料結構 單鏈表實現

在鏈式儲存中,節點之間的儲存單元位址可能是不連續的。鏈式儲存中每個結點都包含兩部分 儲存元素本身的資料域和儲存結點位址的指標域。結點中的指標指向的是下乙個結點,也就是儲存的下乙個結點的位址。1.建立鍊錶 在建立鍊錶時,頭結點不儲存資料,但可以儲存鍊錶的資訊。struct header 儲存資料的結點...

資料結構 單鏈表實現

package list public class singlelinkedlist private class node public node object data 頭插法 public void headinsert object data 尾插法 public void tailinser...