實現鏈佇列的入佇列及出佇列操作。
函式介面定義:
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的型...