Izpitno vprašanje RAČ2PRA 11700

Iz MaFiRaWiki

Vprašanje

Sestavi algoritem, s katerim odstraniš poljubni podatek iz kopice.

Odgovor

Izbrisi(element x, kopica k)
{
   l = new kopica; // ustvarimo novo kopico
   while(!prazna(k)) // delamo, dokler ne pridemo do pravega elt.                          
                     // ali izpraznemo kopice
   {
      v = odstrani(k);
      if(v == x) // če najdemo pravi elt., vrnemo elt. iz l v k in končamo
      {
         while(!prazna(l))
         {
            vstavi(odstrani(l),k);
         }
         break;
      }
      vstavi(v,l);
   }
   if (prazna(k)) // elementa sploh ni v kopici
   {
        while(!prazna(l))
        {
           vstavi(odstrani(l),k);
        }
   }
   return k;
}
Osebna orodja