帶頭結點的鏈佇列的基本操作 (10 分

2022-09-08 07:24:10 字數 1363 閱讀 1951

實現鏈佇列的入佇列及出佇列操作。

函式介面定義:

status queueinsert(linkqueue *q,elemtype e);

status queuedelete(linkqueue *q,elemtype *e);

其中 q 和 e 都是使用者傳入的引數。 linkqueue 的型別定義如下:

typedef int elemtype; 

typedef struct lnode

lnode,*linklist;

typedef struct

linkqueue;

裁判測試程式樣例:

#include #include#define ok 1

#define error 0

typedef int status;

typedef int elemtype;

typedef struct lnode

lnode,*linklist;

typedef struct

linkqueue;

/* 帶頭結點的鏈佇列的基本操作 */

status initqueue(linkqueue *q)

status list(linklist l)

printf("\n");

return ok;

}int queuelenth(linkqueue q)

return n;

}int main()

/* 請在這裡填寫答案 */

輸出樣例:

在這裡給出相應的輸出。例如:

1 2 3

1 23 0

答案如下:

這道題是有頭結點的所以出的時候出的是頭的下乙個,編譯器上報錯而pta上是對的我也不知是為什麼(迷)

status queueinsert(linkqueue *q, elemtype e)

p->data = e;

p->next = null;

q->rear->next = p;

q->rear = p;

return ok;

}status queuedelete(linkqueue *q, elemtype *e)

q->front->next = p->next;

if (q->rear->next =null )

*e = p->data;

free(p);

return ok;

}

帶頭結點的鏈佇列的基本操作

實現鏈佇列的入佇列及出佇列操作。status queueinsert linkqueue q,elemtype e status queuedelete linkqueue q,elemtype e 其中q和e都是使用者傳入的引數。linkqueue的型別定義如下 typedef int elemt...

帶頭結點和不帶頭結點的鏈棧基本操作

c 資料結構 把鏈棧想象成單鏈表頭結點的後插和後刪操作 不帶頭結點的鏈棧 include include include using namespace std typedef struct linknode1 listack1 void initstack1 listack1 l 進棧 lista...

PTA 帶頭結點的鏈佇列的基本操作 函式題)

6 1 帶頭結點的鏈佇列的基本操作 15 分 實現鏈佇列的入佇列及出佇列操作。status queueinsert linkqueue q,elemtype e status queuedelete linkqueue q,elemtype e 其中q和e都是使用者傳入的引數。linkqueue的型...