#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...