佇列的鍊錶實現

2021-07-24 23:48:23 字數 981 閱讀 7475

/*** 

time : 2016 11 29

author: yb

title: queue(lian biao)

***/

#ifndef queue_h

#define queue_h

template

class node

;template

class cqueue

; #endif

/*** 

time : 2016 11 29

author: yb

title: queue(lian biao)

***/

#include "queue.h"

#include

template

node

::node(t item):val(item),next(null)

template

cqueue

::cqueue():qsize(0),head(null),tail(null) template

bool cqueue

::isempty() /* 函式名:void enqueue(t) 引數:t item 輸入的元素 功能:入隊 返回:void */ template

void cqueue

::enqueue(t item) else if( head == tail ) return null; } template

int cqueue

::size() void main() while (!myqueue.isempty()) }

我在編寫過程中出現的問題,這是我之前沒想過的,佇列看了很多遍以為沒問題了,結果動手編寫還是發現了問題:

head 和tail重複刪除,導致記憶體錯誤,我沒有注意head和tail指向同一片記憶體,所以刪除了兩遍;

佇列的鍊錶實現!

include include typedef char elemtype typedef struct qnode qnode typedef struct liqueue 初始化佇列 void initqueue liqueue q 判斷是否為空 int queueempty liqueue q...

佇列的鍊錶實現

include include using namespace std const int maxsize 10 佇列的容量 單個結點結構體 typedef struct node pnode 佇列結構體 typedef struct queue pqueue 函式實現 建立空佇列 pqueue c...

佇列的鍊錶實現

include include includeconst int max 10 typedef struct node protonode protonode 相當與struct node struct node typedef protonode position position 實際上和 pr...