📄 de-queue .cpp
字号:
delay(250);
}
if(inserted_element_count==0)
{
setcolor(12);
setfillstyle(1,12);
pieslice(275,105,0,360,10);
sound(2500);
delay(1000);
nosound( );
setcolor(4);
setfillstyle(1,4);
pieslice(275,105,0,360,10);
delay(200);
}
else if(inserted_element_count>0)
{
setcolor(10);
setfillstyle(1,10);
pieslice(245,105,0,360,10);
sound(3000);
delay(800);
nosound( );
setcolor(2);
setfillstyle(1,2);
pieslice(245,105,0,360,10);
}
if(front==NULL)
{
show_insert_delete_screen(WARNING);
settextstyle(7,0,4);
setcolor(0);
outtextxy(25,277,"Error:");
outtextxy(26,277,"Error:");
setcolor(14);
outtextxy(27,275,"Error:");
outtextxy(28,275,"Error:");
while(!kbhit( ))
{
settextstyle(6,0,4);
setcolor(0);
outtextxy(48,306,"Nothing to Pop");
outtextxy(49,306,"Nothing to Pop");
setcolor(12);
outtextxy(50,305,"Nothing to Pop");
outtextxy(51,305,"Nothing to Pop");
outtextxy(52,305,"Nothing to Pop");
delay(500);
setfillstyle(1,9);
bar(23,315,277,350);
delay(400);
}
getch( );
}
else
{
node *deleted_element;
long poped_data=front->data;
deleted_element=front;
front=front->next;
front->previous=NULL;
delete(deleted_element);
inserted_element_count--;
char element[6]={'\0'};
ltoa(poped_data,element,10);
show_queue_element_screen(DELETE);
setcolor(12);
settextstyle(2,0,7);
outtextxy(140,305,element);
outtextxy(141,305,element);
delay(2500);
}
clear_element_screen(DELETE);
print_double_ended_queue( );
}
/**************************************************************************/
//------------------------- print_linked_list( ) -----------------------//
/**************************************************************************/
void Double_Ended_Linked_List_Queue::print_double_ended_queue( )
{
int count=0;
int x=335;
int y=100;
print=front;
setfillstyle(1,0);
bar(317,92,getmaxx( )-15,getmaxy( )-80);
while(print!=NULL)
{
setcolor(15);
setlinestyle(0,0,3);
rectangle(x,y,x+70,y+30);
if(count==0 || count==1 || count==2 || count==6 || count==7 ||
count==8 || count==12 || count==13 || count==14)
{
setfillstyle(1,8);
bar(x+1,y+1,x+14,y+29);
setfillstyle(1,7);
bar(x+56,y+1,x+69,y+29);
}
else
{
setfillstyle(1,7);
bar(x+1,y+1,x+14,y+29);
setfillstyle(1,8);
bar(x+56,y+1,x+69,y+29);
}
setfillstyle(1,9);
bar(x+16,y+1,x+54,y+29);
rectangle(x+15,y,x+55,y+30);
char element[6]={'\0'};
ltoa(print->data,element,10);
settextstyle(0,0,1);
setcolor(11);
outtextxy(x+20,y+10,element);
if(count==0 || count==1 || count==2 || count==6 || count==7 ||
count==8 || count==12 || count==13 || count==14)
{
if(count==0)
{
setcolor(15);
outtextxy(x+4,y+11,"x");
}
if(count==inserted_element_count-1)
{
setcolor(15);
rectangle(x+15,y,x+55,y+30);
outtextxy(x+60,y+11,"x");
}
}
else
{
if(count==inserted_element_count-1)
{
setcolor(15);
rectangle(x+15,y,x+55,y+30);
outtextxy(x+4,y+11,"x");
}
}
if(count==1 || count==2 || count==7 || count==8 || count==13
|| count==14)
{
setcolor(15);
setlinestyle(0,0,3);
line(x-40,y+10,x-2,y+10);
line(x-6,y+6,x-2,y+10);
line(x-6,y+14,x-2,y+10);
line(x-28,y+20,x+7,y+20);
line(x-28,y+20,x-24,y+16);
line(x-28,y+20,x-24,y+24);
setfillstyle(1,15);
pieslice(x-37,y+10,0,360,2);
pieslice(x+7,y+20,0,360,2);
}
else if(count==4 || count==5 || count==10 || count==11)
{
setcolor(15);
setlinestyle(0,0,3);
line(x+64,y+10,x+98,y+10);
line(x+94,y+6,x+98,y+10);
line(x+94,y+14,x+98,y+10);
line(x+72,y+20,x+107,y+20);
line(x+72,y+20,x+76,y+16);
line(x+72,y+20,x+76,y+24);
setfillstyle(1,15);
pieslice(x+63,y+10,0,360,2);
pieslice(x+107,y+20,0,360,2);
}
else if(count==3 || count==9)
{
setcolor(15);
setlinestyle(0,0,3);
line(x+60,y-50,x+80,y-50);
line(x+80,y-50,x+80,y+20);
line(x+72,y+20,x+80,y+20);
line(x+72,y+20,x+76,y+16);
line(x+72,y+20,x+76,y+24);
line(x+63,y-30,x+63,y+10);
line(x+63,y-28,x+59,y-24);
line(x+63,y-28,x+67,y-24);
setfillstyle(1,15);
pieslice(x+63,y+10,0,360,2);
pieslice(x+63,y-50,0,360,2);
}
else if(count==6 || count==12)
{
setcolor(15);
setlinestyle(0,0,3);
line(x-15,y-50,x+10,y-50);
line(x-15,y-50,x-15,y+20);
line(x-15,y+20,x,y+20);
line(x-2,y+20,x-6,y+16);
line(x-2,y+20,x-6,y+24);
line(x+7,y-30,x+7,y+10);
line(x+3,y-24,x+7,y-28);
line(x+11,y-24,x+7,y-28);
setfillstyle(1,15);
pieslice(x+7,y+10,0,360,2);
pieslice(x+7,y-50,0,360,2);
}
setcolor(7);
setlinestyle(0,0,3);
line(360,125,360,138);
line(356,134,360,138);
line(364,134,360,138);
setcolor(14);
settextstyle(2,0,4);
outtextxy(338,140,"Front");
if(count==inserted_element_count-1)
{
setcolor(7);
setlinestyle(0,0,3);
line(x+40,y+25,x+40,y+38);
line(x+36,y+34,x+40,y+38);
line(x+44,y+34,x+40,y+38);
setcolor(14);
settextstyle(2,0,4);
outtextxy(x+38,y+40,"Rear");
}
print=print->next;
count++;
if(count==0 || count==1 || count==2 || count==6 || count==7 ||
count==8 || count==12 || count==13 || count==14)
x+=100;
else if(count==3 || count==4 || count==5 || count==9 ||
count==10 || count==11)
x-=100;
if(count==3 || count==9)
{
x=535;
y+=60;
}
else if(count==6 || count==12)
{
x=335;
y+=60;
}
if(count==15)
break;
}
setlinestyle(0,0,0);
}
/**************************************************************************/
//--------------------------- show_working( ) --------------------------//
/**************************************************************************/
void Double_Ended_Linked_List_Queue::show_double_ended_queue_working( )
{
show_double_ended_queue_screen( );
delay(1000);
show_double_ended_queue_output_screen( );
char Key;
int selected=0;
do
{
waiting_for_input( );
Key=getch( );
switch(Key)
{
case 'i': Insert( );
break;
case 'I': Insert( );
break;
case 'd': Delete( );
break;
case 'D': Delete( );
break;
case 'e': selected=1;
break;
case 'E': selected=1;
break;
}
}
while(!selected && int(Key)!=27);
delay(1000);
}
/**************************************************************************/
/**************************************************************************/
//------------------------ THE END -------------------------------------//
/**************************************************************************/
/**************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -