Länkade listor är datastrukturer som dynamiskt skapas när en dator är igång . Detta innebär minnet inte allokeras innan programmet startade , och programmet skapade strukturen som det behövdes . Ofta måste du skapa en kopia av en länkad lista att arbeta med på ett särskilt problem utan att förstöra originalet . Följande förfarande bör endast prövas genom dem med erfarenhet av konstruktioner dator data . Instruktioner
1
Begär en ny pekare att börja bygga din instant kopia . Pekare är ord i minnet som är precis tillräckligt stor för att innehålla minnesadresser . Gör den nya pekaren inkörsporten till din instant kopia , oavsett struktur länkade listan du kopierar . När du har start pekaren , kommer du att gå igenom den länkade listan gör en omedelbar kopia av allt som påträffas .
2
Link noderna i din instant kopia genom att visarna på en nod innehåller adressen för nästa nod i listan. Sätt uppgifter som går i den länkade listan i noderna . Till exempel i en databas hos IRS , kan noderna innehåller register över medborgarna , med en post för varje medborgare . Sätt ett eller flera pekare i varje post , exempelvis adresser till andra poster. Sätt en pekare i varje post om du vill att de länkade listorna vara faktiska listor , köer eller någon annan form av linjär struktur . Sätt mer än en pekare i varje post om du bygger ett träd . Använd layouten av den länkade listan du kopierar för att göra din instant kopia . Addera 3
Begär en ny adress . Sättet att göra detta beror på vilket språk du använder . Operativsystemet på din dator levererar nya bitar av minne , tillsammans med adressen för bit så att den kan refereras . Din nya adress pekar på en tom post . Kopiera informationen från den första posten i den länkade gamla förteckningen i den första posten i den länkade nya lista du gör ( med undantag för pekaren ) . När du kommer till pekaren , begära en ny pekare och sätta det i den länkade listan du skapar . Följ pekaren i den gamla listan . Följ den nya pekaren till en ny tom post och kopiera informationen från post till post som tidigare. Fortsätt att göra detta tills hela listan kopieras .