Advertisement
ravencs

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

Jun 30th, 2013
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.49 KB | None | 0 0
  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
Add Comment
Please, Sign In to add comment
Advertisement