隊列的應用
假設在周末舞會上
先入隊的男士或女士亦先出隊配成舞伴
在算法中
typedef struct{
char name[
char sex; //性別
}Person;
typedef Person DataType; //將隊列中元素的數據類型改為Person
void DancePartner(Person dancer[]
{//結構數組dancer中存放跳舞的男女
int i;
Person p;
CirQueue Mdancers
InitQueue(&Mdancers);//男士隊列初始化
InitQueue(&Fdancers);//女士隊列初始化
for(i=
p=dancer[i];
if(p
EnQueue(&Fdancers
else
EnQueue(&Mdancers
}
printf(
while(!QueueEmpty(&Fdancers)&&!QueueEmpty(&Mdancers)){
//依次輸入男女舞伴名
p=DeQueue(&Fdancers); //女士出隊
printf(
p=DeQueue(&Mdancers); //男士出隊
printf(
}
if(!QueueEmpty(&Fdancers)){ //輸出女士剩余人數及隊頭女士的名字
printf(
p=QueueFront(&Fdancers); //取隊頭
printf(
}else
if(!QueueEmpty(&Mdancers)){//輸出男隊剩余人數及隊頭者名字
printf(
p=QueueFront(&Mdancers);
printf(
}
}//DancerPartners
From:http://tw.wingwit.com/Article/program/sjjg/201311/22670.html