1. 程式人生 > >利用佇列和棧實現球鍾問題

利用佇列和棧實現球鍾問題

 while ( 1 )
 {
  sum++;
  x = DeQueue(lq);
  if (s1->top != 3)
  {
   PushStack(s1, x);
  }
  else
  {
   while ( ! EmptyStack(s1) )
   {
    EnQueue(lq, PopStack(s1));
   }
   if (s5->top != 10)
   {
    PushStack(s5, x);
   }
   else
   {
    while ( ! EmptyStack(s5) )
    {
     EnQueue(lq, PopStack(s5));
    }
    if (s60->top != 10)
    {
     PushStack(s60, x);
    }
    else
    {
     while ( ! EmptyStack(s60) )
     {
      EnQueue(lq, PopStack(s60));
     }
     EnQueue(lq, x);
     if ( SameQueue(lq) ) break;
    } 
   }
  }
 }
 printf("sum = %d\n", sum);