資料結構 佇列的鏈式表示和實現

2021-08-26 14:43:54 字數 1117 閱讀 5050

#includeusing namespace std;

typedef int elementtype;

#define error -1

//定義節點

typedef struct node qnode;

//定義front和rear指標

typedef struct linkqueue;

/*出隊演算法:注意含有頭節點

首先判斷佇列是否為空,若空返回-1

當佇列只有乙個元素時,佇列的頭和尾指標為null

其他情況從頭刪除節點,將頭指標指向下乙個位置

*/elementtype deleteq(linkqueue *ptrq,elementtype *e)

tmp = ptrq->front->next;

if (ptrq->front->next == ptrq->rear)

ptrq->front = ptrq->rear = null;

else

*e = tmp->data;

cout << *e;

delete tmp;

return 0;}/*

入隊操作:

演算法思想:首先為入隊的元素分配乙個新的結點,將新元素插入到隊尾;

並修改隊尾指標的值.

*/elementtype addq(linkqueue *ptrq, elementtype x)

void inital(linkqueue *ptrq)

int visitqueue(linkqueue *ptrq)

qnode *p;

p = ptrq->front->next;//p指向隊頭結點

while (p)//p不為空時

return 1;

}void main()

deleteq(&ptrq,&t);

cout << "出隊元素為:" << t << endl;

cout << "佇列中元素為:" << endl;

資料結構 鏈式棧的表示和實現

鏈式棧的表示和實現 鏈式棧 採用鏈式的儲存結構實現的棧 通常使用單鏈表的形式 2019.04.15 include include include using namespace std define ok 1 define error 0 define overflow 1 typedef int...

資料結構 佇列的鏈式實現

1 佇列的鏈式儲存表示 佇列的鏈式儲存結構簡稱為鏈佇列,它是限制在表頭進行刪除操作和表尾進行插入操作的單鏈表。需要兩類不同的結點 資料元素結點,佇列的隊首指標和隊尾指標的結點 指標結點型別定義 typedef struct link queue linkqueue 2 鏈隊運算及指標變化 鏈隊的操作...

資料結構 佇列的實現 鏈式

如下 include include typedef struct qnode qnode,queueptr typedef struct linkqueue void initqueue linkqueue q 初始化佇列,構造乙個空佇列q intenqueue linkqueue q,int e...