資料結構之 佇列的基本操作

2021-08-17 21:51:04 字數 2088 閱讀 1128

1.順序佇列,可以實現以下功能:

**如下:

#include "stdio.h"

#define datetype int

#define maxsize 100

typedef struct seqqueue,*pseqqueue;

/*初始化佇列,入口引數:無,返回值:新的順序佇列指標,null表示失敗*/

pseqqueue init_seqqueue()

return q;

}/*判斷佇列是否為空,入口引數:順序佇列,返回值:1表示為空,0表示不為空*/

int empty_seqqueue(pseqqueue q)

/*入隊操作,入口引數:順序佇列和待入隊的元素x,返回值:1表示成功,-1表示隊滿溢位*/

int in_seqqueue(pseqqueue q,datetype x)

else }

/*出隊操作,入口引數:順序佇列和儲存出隊元素的*x,返回值:1表示成功,-1表示隊空*/

int out_seqqueue(pseqqueue q,datetype *x)

else }

/*取隊頭元素,入口引數:順序佇列和儲存隊頭元素的*x,返回值:1表示成功,-1表示隊空*/

int getfront_seqqueue(pseqqueue q,datetype *x)

else }

void destory_seqqueue(pseqqueue *q)

int main()

} return 0;

}

2.鏈佇列,可以實現以下功能:

**如下:

#include "stdio.h"

#define datetype int

typedef struct node qnode,*pqnode; //鏈隊節點型別

typedef structlinkqueue,*plinkqueue;

/*初始化佇列,入口引數:無,返回值:新的順序佇列指標,null表示失敗*/

plinkqueue init_linkqueue()

return q;

}/*判斷佇列是否為空,入口引數:鏈佇列,返回值:1表示為空,0表示不為空*/

int empty_linkqueue(plinkqueue q)

/*入隊操作,入口引數:鏈佇列和待入隊的元素x,返回值:1表示成功,0表示系統記憶體溢位*/

int in_linkqueue(plinkqueue q,datetype x)

p->data = x;

p->next = null;

if(empty_linkqueue(q))

else

return 1;

}/*出隊操作,入口引數:鏈佇列和儲存出隊元素的*x,返回值:1表示成功,-1表示隊空*/

int out_linkqueue(plinkqueue q,datetype *x)

*x = q->front->data;

printf("出佇列元素為:%d\n",*x);

p = q->front;

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

free(p);

if(!q->front)

return 1;

}/*取隊頭元素,入口引數:鏈佇列和儲存隊頭元素的*x,返回值:1表示成功,0表示隊空*/

int getfront_linkqueue(plinkqueue q,datetype *x)

else

return 1;

}void destory_linkqueue(plinkqueue *q)

free(*q);

} *q = null;

}int main()

} return 0;

}

資料結構佇列的基本操作

include include 鍊錶 佇列的鏈式儲存結構 typedef struct queuenode qnode,queueptr 指向佇列頭和尾的指標結構體 typedef struct queue int main 構造乙個空佇列 void initqueue queue q 向隊尾插入元...

資料結構 佇列的基本操作

佇列 簡稱隊,一種受限的線性表,只允許在表的一端進行插入,在表的另一端進行刪除操作 先進先出 隊頭 進行刪除的一端 隊尾 進行插入的一端 空佇列 不含任何元素的空表 佇列的基本操作 佇列分為順序佇列 迴圈佇列和鏈式佇列,順序佇列容易發生假溢位現象 隊尾超過限定長度 故不常用,下面是迴圈佇列和鏈式佇列...

資料結構 佇列的基本操作

佇列是一種先進先出 first in first out 的線性表,簡稱fifo。與棧不同,棧是一種後進先出 先進後出 的線性表。在佇列中,允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。假設佇列是q a1,a2,an 那麼a1就是隊頭元素,而an是隊尾元素。這樣我們就可以刪除時,總是從a1開始,而...