Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Computer Programmeringsspråk >> Content
    Hvordan implementere et binært tre med Pascal
    binære trær kan danne byggesteinene i effektiv søking og sortering algoritmer og på grunn av dette har et bredt program i informatikk. Som Pascal har støtte for poster og pekeren typer , kan du elegant implementere binære trær i den. Bruk Pascal program som grunnlag for en binær heap prioritert kø eller modifisere den til å støtte noen form for sammenlignbare data . Instruksjoner
    en

    Åpne en ny Pascal -filen i en teksteditor eller IDE
    2

    Legg følgende linje i filen: . Program bintree ;

    3

    Type den neste delen av koden i editor for å definere de grunnleggende typer for det binære treet : TypeBinTree = ^ Node , Node = Recordi : integer ; L , R: BinTree ; slutten;
    4

    Kopier følgende inn i editoren å konstruere en tom treet : function MakeTree : BinTree ; beginMakeTree : = nilend ;
    5

    Plasser følgende kode inn i filen for å teste treet for tomhet : function IsEmptyTree ( B: BinTree ) : Boolean ; beginIsEmptyTree : = ( B = null) ; end ;
    6

    inneholde følgende linjer i skriptet for å konstruere et barn node med gitt heltall : funksjon MakeNode ( I: heltall) : BinTree ; Varres : BinTree ; beginNew ( Res ), Res ^ I: . = jeg, Res ^ L : . = MakeTree ; Res ^ R: . = MakeTree ; MakeNode : = Res ; slutten;
    7

    Legg disse linjene til å frigjøre et tre fra den gitte root node: prosedyre DeallocateTree (var B: BinTree ) ; beginif ikke IsEmptyTree ( B ) da beginDeallocateTree ( B ^ L . ) ; DeallocateTree ( B . ^ R ); Kast ( B ) ; SluttSlutt ;
    8

    Legg neste delen av koden inn i filen for å sette inn den gitte verdien inn i sin bestilles beliggenhet i binært tre : . prosedyre InsertInTree (jeg : integer ; Var B: BinTree ) ; beginif IsEmptyTree ( B ) thenB : . . . = MakeNode ( I) else if I < B ^ Jeg thenInsertInTree (I, B ^ L) elseInsertInTree (I, B ^ R ) end ;
    9

    Legg følgende HTML-kode for å søke et tre for en gitt verdi : function FindInTree ( S : integer ; B: BinTree ) : Boolean ; beginif IsEmptyTree ( B ) thenFindInTree : = Falseelse dersom S < ; B ^ Jeg thenFindInTree : . = FindInTree ( S , B ^ L . ) else if B ^ I < S thenFindInTree : = FindInTree ( S , B ^ R . ) else beginFindInTree : . = Trueendend ;
    10

    Lim neste prosedyre i din Pascal programmet for å se innholdet på treet i sortert rekkefølge : prosedyre PrintTree ( B: BinTree ) ; beginif ikke IsEmptyTree ( B ) så beginPrintTree ( . B ^ L) ; writeln ( B ^ . jeg ) ; PrintTree ( B ^ R) SluttSlutt ;
    11

    Legg disse siste linjene i filen for å fullføre Pascal program : . . beginend

    früher :

     Weiter:
      Relatert Artike
    ·Slik konverterer COBOL Copybook til RPG Copybook 
    ·Hvordan bruke Ant i FlashBuilder 
    ·Microsoft Certified Partner Krav 
    ·Slik sletter filer med T - SQL 
    ·Slik fjerner Linjeslutt Fra QString 
    ·Hvordan importere data Objekt typer i SSIS 
    ·Hvordan kode i Pascal 
    ·Hva er koding Skills 
    ·Hvordan spare Endringer i WPF i Dataset 
    ·Forskjellen mellom Fortran Funksjoner og subrutiner 
      Anbefalte artikler
    ·Hvordan skrive ut kolonnenavn Med PHP og Microsoft SQL 
    ·Hvordan til tråden i VB.Net 
    ·Slik konverterer et stykke inn en Byte 
    ·Slik utfører du en Record Search i en Java-applikasjon…
    ·Slik utfører du en Bit Shift i Basic 
    ·Microsoft VB NET sertifisering 
    ·Hvordan telle antall valgte filer i Visual Basic 
    ·Hvordan får jeg Perl Counter Script for å samle IP-ad…
    ·Hvordan endre det gjelder Font i Macro 
    ·Hvordan koble en direkte Java Application Interface 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/