⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 de-queue .cpp

📁 graphical implementation of linked list
💻 CPP
📖 第 1 页 / 共 2 页
字号:

	     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 + -