C 佇列實現跳舞問題

2021-10-01 18:00:25 字數 1245 閱讀 6845

# include

# include

"string.h"

# include

"stdlib.h"

#define maxsize 10

//定義學生結構體

typedef

struct

student;

//定義佇列結構體

typedef

struct

sqqueue;

void

enqueue

(sqqueue *bq, sqqueue *gq, student stu)

bq->data[bq->rear]

= stu;

bq->rear =

(bq->rear +1)

% maxsize;

printf

("入隊成功\n\n");

}else

gq->data[gq->rear]

= stu;

gq->rear =

(gq->rear +1)

% maxsize;

printf

("入隊成功\n\n");

}}//跳舞配對函式:只有當兩個隊都有人的時候才能呼叫該函式

void

dance

(sqqueue *bq, sqqueue *gq)

intmain()

//只有當兩個隊都有人的時候才能配對(兩個隊都不為空)

while

(bq.front != bq.rear && gq.front != gq.rear)

//輸出剩下的人

//1.男生隊不為空

//(bq.rear - bq.front + maxsize) % maxsize 佇列長度的計算公式

printf

("\n男生隊剩餘%d個人\n"

,(bq.rear - bq.front + maxsize)

% maxsize)

;while

(bq.front != bq.rear)

//2.女生隊不為空

printf

("\n女生隊剩餘%d個人\n"

,(gq.rear - gq.front + maxsize)

% maxsize)

;while

(gq.front != gq.rear)

return0;

}

c 實現佇列

主要是想聯絡一下c 中的模板怎麼使用,隨便複習一下佇列。佇列最基本的資料結構元素先進先出,這些就不多說了。注意 寫程式時copy建構函式和copy賦值函式的寫法。include includeusing namespace std templateclass queueitem queueitem ...

C 實現佇列

像棧一樣,佇列 queue 也是表。然而,使用佇列時插入在一端進行而刪除則在另一端進行,也就是先進先出 fifo 佇列的基本操作是enqueue 入隊 它是在表的末端 叫做隊尾 rear 插入乙個元素 還有dequeue 出隊 它是刪除 或返回 在表的開頭 叫做隊頭 front 的元素。同樣,佇列也...

c 實現佇列

佇列是一種線性結構,具有先進先出的特點,以下是3種佇列基本操作的c 鏈式佇列 include include using namespace std vector a class node class linkqueue 初始化佇列 void linkqueue initqueue linkqueu...