當前位置:編程學習大全網 - 源碼下載 - C語言用隊列結構模擬,銀行業務排隊系統實現 1.有儲戶要辦理存取款業務時,取號等待,編號入隊

C語言用隊列結構模擬,銀行業務排隊系統實現 1.有儲戶要辦理存取款業務時,取號等待,編號入隊

很明顯 這個只要實現隊列壹切就簡單了 其實c++有quene類 這裏我們自己實現它

剩下的自己來寫就好了 很簡單的

首先壹個鏈表的

#include?<iostream>

using?namespace?std;

//鏈表

typedef?struct?QDode

{

int?n;

?struct?QDode?*next;

}*pqdode,qdode;

//隊列

typedef?struct?MyQueue

{

pqdode?front;

pqdode?rear;

}*pmyqueue,myqueue;

bool?Init_queue(pmyqueue?qu);//初始化隊列

bool?Is_empty(pmyqueue?qu);//判斷隊列是否為空

void?Put_queue(pmyqueue?qu,int?val);//入隊

int?Out_queue(pmyqueue?qu);//出隊

int?Travel_queue(pmyqueue?qu);//遍歷隊列

void?Destory_queue(pmyqueue?qu);//銷毀隊列

//主函數

int?main()

{?

myqueue?queue={NULL,NULL};

Init_queue(&queue);//初始化

Put_queue(&queue,5);//入隊

if?(!Is_empty(&queue))

{

cout<<"隊列不為空"<<endl;

}

Put_queue(&queue,6);

Put_queue(&queue,7);

Put_queue(&queue,8);

Put_queue(&queue,9);

Travel_queue(&queue);//遍歷

int?val=Out_queue(&queue);

cout<<endl<<endl<<val<<endl<<endl;

Travel_queue(&queue);//遍歷

int?vall=Out_queue(&queue);

cout<<endl<<endl<<vall<<endl<<endl;

Travel_queue(&queue);//遍歷

Destory_queue(&queue);//銷毀

cout<<endl;

return?0;

}

bool?Init_queue(pmyqueue?qu)

{

?qu->front?=?new?qdode;

?if?(qu->front==NULL)

?{

?cout<<"動態分配內存失敗!"<<endl;

?return?false;

?}

?else

?{

qu->rear=qu->front;

?qu->front->next=NULL;

?return?true;

?}

}

void?Destory_queue(pmyqueue?qu)

{

?pqdode?p=qu->front,q=NULL;

?while?(p)

?{

q?=?p->next;

delete?p;

?p?=?q;

?}

?p?=?NULL;

}

void?Put_queue(pmyqueue?qu,int?val)

{

?qu->rear->n?=?val;

?pqdode?q=qu->rear;

?pqdode?p?=?new?qdode;

?p->next?=?NULL;

?qu->rear?=?p;

q->next?=?p;

}

bool?Is_empty(pmyqueue?qu)

{

?if?(qu->front!=qu->rear)

?{

?return?false;

?}

?else

?{

?return?true;

?}

}

int?Travel_queue(pmyqueue?qu)

{

int?count=0;

if?(Is_empty(qu))

{

cout<<"該隊列為空!"<<endl;

return?0;

}

else

{

pqdode?p=qu->front,q=NULL;

while?(p!=qu->rear)

{

count++;

cout<<p->n<<"";

if?(!(count%5))

{

cout<<endl;

}

p?=?p->next;

}

return?count;

}

}

int?Out_queue(pmyqueue?qu)

{

if?(Is_empty(qu))

{

cout<<"該隊列為空!"<<endl;

return?-1;

}

else

{

int?val=qu->front->n;

pqdode?p?=?qu->front->next;

delete?qu->front;

qu->front?=?p;

return?val;

}

}

然後壹個數組實現的

#include?<iostream>

using?namespace?std;

class?QUEUE//隊列類

{

private:?//私有成員

int?*pBase;

int?front,rear;

int?count;

public:?//公有成員

bool?Is_empty();//判斷是否為空

bool?Is_full();//判斷是否滿

void?enter_queue(int?n);//入隊

int?out_queue();//出隊

void?travel_queue();//遍歷隊

QUEUE?(int?number?=?100)

{

front?=?rear?=?0;

pBase?=?new?int[number+1];

?count?=?number?+?1;

}

~QUEUE()

{

delete?[]?pBase;

}

};

int?main()

{

QUEUE?queue(5);

queue.enter_queue(1);

queue.enter_queue(2);

queue.enter_queue(3);

queue.enter_queue(4);

queue.enter_queue(5);

queue.enter_queue(6);

queue.travel_queue();

queue.out_queue();

queue.travel_queue();

queue.out_queue();

queue.travel_queue();

queue.out_queue();

queue.travel_queue();

queue.out_queue();

queue.travel_queue();

queue.out_queue();

queue.travel_queue();

queue.out_queue();

if?(queue.Is_full())

{

cout<<"wangbadan"<<endl;

}

int?n?=?queue.out_queue();

cout<<n<<endl;

queue.travel_queue();

int?n1?=?queue.out_queue();

cout<<n1<<endl;

queue.travel_queue();

return?0;

}

bool?QUEUE::Is_empty()//判斷是否滿

{

if?(front?==?rear)

{

?return?true;

}

?else

?{

?return?false;

?}

}

bool?QUEUE::Is_full()//判斷是否空

{

if?((rear?+?1)?%?count?==?front)

{

return?true;

}

else

{

return?false;

}

}

void?QUEUE::enter_queue(int?n)//入隊

{

?if?(Is_full())

?{

?cout<<"隊列已滿!"<<endl;

?}

?else

?{

?pBase[rear]=n;

?rear?=?(rear?+?1)?%?count;

?}

?return;

}

int?QUEUE::out_queue()//出隊

{

?int?n?=?pBase[front];

if?(Is_empty())

{

?cout<<"該隊列已空!"<<endl;

?return?false;

}

?else

?{

?front?=?(front?+?1)?%?count;

?return?n;

?}

}

void?QUEUE::travel_queue()//遍歷

{

?int?j=0;

?for?(int?i=front;i?%?count?!=?rear;i++)

?{

?j++;

?cout<<pBase[i%count]<<"?";

?if?(j==5)

?{

cout<<endl;

?j=0;

?}

?}

?if?(j)

?{

?cout<<endl;

?}

?return;

}

  • 上一篇:rpm -e什麽意思
  • 下一篇:11月29日通報郴州安仁縣在重點人員核酸檢測中發現1例新冠病毒陽性感染者
  • copyright 2024編程學習大全網