Advertisement
ravencs

Kétirányú láncolt listák összefűzése

Jun 30th, 2013
96
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Típus
  2.     LISTA Rekord
  3.         ADAT    Valós
  4.         ELOZO   LISTA rekordra mutató
  5.         KOV LISTA rekordra mutató
  6.  
  7. Funkció            Azonosító     Típus           Jelleg
  8.  
  9. L1 első eleme          ELSO1        LISTA-ra mutató         I
  10. L2 első eleme          ELSO2        LISTA-ra mutató         I
  11. L1 aktuális eleme      AKT1         LISTA-ra mutató         M
  12. L2 aktuális eleme      AKT2         LISTA-ra mutató         M
  13. Másolandó elem         UJ       LISTA-ra mutató         M
  14. A rövidebb lista vége      HONNAN       LISTA-ra mutató         M
  15. Eredmény lista aktuális eleme  AKTER        LISTA-ra mutató         M
  16. Eredmény lista első eleme  ELSOER       LISTA-ra mutató         M,O
  17. Van-e hely             OK       Logikai             M,O
  18.  
  19. OSSZEFUZ(ELSO1,ELSO2,OK)
  20. AKT1 <- ELSO1
  21. AKT2 <- ELSO2
  22. ELSOER <- NIL
  23. AKTER <- NIL
  24. OK <- igaz
  25.  
  26. while OK AND (AKT1 <> NIL) AND (AKT2 <> NIL)
  27.     OK <- VANHELY(MERET(LISTA))
  28.  
  29.     if OK
  30.         HELYFOGLAL(UJ)
  31.         (*UJ).KOV <- NIL
  32.         (*UJ).ELOZO <- NIL
  33.         if (*AKT1).ADAT > (*AKT2).ADAT
  34.             (*UJ).ADAT <- (*AKT2).ADAT
  35.             AKT2 <- (*AKT2).KOV
  36.         else
  37.             (*UJ).ADAT <- (*AKT1).ADAT
  38.             AKT1 <- (*AKT1).KOV
  39.        
  40.         if ELSOER = NIL
  41.             (*UJ).ELOZO <- NIL
  42.             (*UJ).KOV <- NIL
  43.             ELSOER <- UJ
  44.             AKTER <- UJ
  45.         else
  46.             (*UJ).ELOZO <- AKTER
  47.             (*UJ).KOV <- NIL
  48.             (*AKTER).KOV <- UJ
  49.             AKTER <- UJ
  50. if OK
  51.     if AKT1 = NIL
  52.         HONNAN <- AKT2
  53.     else
  54.         HONNAN <- AKT1
  55.  
  56.     while OK AND (HONNAN <> NIL)
  57.         OK <- VANHELY(MERET(LISTA))
  58.         HELYFOGLAL(UJ)
  59.         (*UJ).KOV <- NIL
  60.         (*UJ).ELOZO <- AKTER
  61.         (*UJ).ADAT <- (*HONNAN).ADAT
  62.         HONNAN <- (*HONNAN).KOV
  63.         (*AKTER).KOV <- UJ
  64.         AKTER <- UJ
  65.  
  66. return ELSOER
Advertisement
RAW Paste Data Copied
Advertisement