Gekoppelde lijsten zijn datastructuren die dynamisch worden gemaakt terwijl er een computer is ingeschakeld. Dit betekent dat het geheugen werd niet toegewezen voordat het programma begon , en het programma gemaakt de structuur als het nodig was . Vaak moet u een kopie van een gekoppelde lijst te maken om mee te werken aan een bepaald probleem zonder de vernietiging van het origineel . De volgende procedure mag alleen worden geprobeerd door mensen met ervaring in computer datastructuren . Instructies Request 1 een nieuwe pointer om te beginnen met het bouwen van uw instant kopiëren . Pointers zijn woorden in het geheugen die net groot genoeg om geheugenadressen bevatten . Maak de nieuwe aanwijzer het toegangspunt tot uw instant kopiëren , ongeacht de structuur van de gelinkte lijst die u wilt kopiëren . Zodra u de start aanwijzer , zal je door de gelinkte lijst maken van een instant kopie van alles wat wordt aangetroffen . Kopen van 2 Link de knooppunten van uw instant exemplaar door het hebben van de wijzers in een knoop bevat de adres van het volgende knooppunt in de lijst . Zet de gegevens die gaat in de gekoppelde lijst in de knooppunten . Bijvoorbeeld , in een database op de IRS , de knooppunten zouden verslagen van burgers bevatten , met een record voor elke burger . Plaats een of meer wijzers in elke record , zoals adressen van andere records. Zet een pointer in elk record als u wilt dat de gelinkte lijsten te zijn eigenlijke lijsten , wachtrijen , of een ander soort van lineaire structuur . Zet meer dan een pointer in elk record als je het bouwen van een boom . Gebruik de lay-out van de gelinkte lijst waarnaar u kopieert uw instant kopie te maken . Vraag een nieuw adres 3 . De methode om dit te doen is afhankelijk van de taal die u gebruikt . Het besturingssysteem op je computer levert nieuwe delen van het geheugen , samen met het adres van de chunk zodat het kan worden verwezen . Uw nieuwe adres wijst naar een lege record . Kopieer de gegevens uit de eerste record in de oude gelinkte lijst in de eerste record in de nieuwe gelinkte lijst die u maakt ( met uitzondering van de aanwijzer ) . Wanneer je naar de aanwijzer , een nieuwe aanvragen pointer en deze in de gelinkte lijst die u maakt . Volg de aanwijzer in de oude lijst . Volg de nieuwe aanwijzer naar een nieuwe lege record en kopieert de gegevens van de plaat op te nemen als voorheen . Blijf dit doen tot de hele lijst is gekopieerd .
|