Hvordan du kan snu en koblet liste i C

Hvordan du kan snu en koblet liste i C
Den koblede listen er definert som et struktur-type noder som inneholder noen data. Denne guiden vil vise hvordan en lenket liste kan reverseres på C -språk ved bruk av Ubuntu 20.04 System. Så la oss komme i gang med å legge til noen eksempler. Brukeren må åpne terminalkonsollen på Ubuntu 20.04 Desktop for å jobbe med C -språket. For å åpne den, har vi brukt hurtigtasten -kommandoen “Ctrl+Alt+T”. En annen måte å starte den på Ubuntu -skrivebordet ditt er via aktivitetsalternativet på skrivebordet.

Eksempel 01

Når terminalappen lanseres, oppretter du en ny C -fil. Vi må bruke et mest brukt "berørings" -spørsmål i terminalen for å gjøre det, som vist nedenfor.

$ Touch Reverse.c

Nå er C -filen opprettet, åpner den med alle redigeringsredigerer som allerede er installert og konfigurert på Linux -systemet ditt. Vi har brukt “Nano” -redigereren for å åpne og redigere C -filen.

$ nano omvendt.c

Nå er filen vist i GNU Nano -redigering. Vi har inkludert noen biblioteker først for å gjøre koden kjørbar i terminalen og av kompilatoren. En koblet listeknute er konstruert som av struct -typen består av nodeinformasjonsvariabel og oppretting av neste node. En metode “omvendt” er blitt definert for reversering av en koblet liste. Den konstruerer pekeren for adressesparing for forrige node, strøm- eller hodeknute og neste node. Mens hodeknuten er null, brukes den til å gjøre den til neste eller nåværende node. Dette har blitt gjort ved å bruke pekere så langt.

Funksjonen “push” er opprettet for å skyve data inn i noder. Den opprettet en ny node og tildelte den noe minne etter “Malloc” -metoden. Dataene er tilordnet en ny node ved å bestå argumenter i parametere ved hjelp av referanser for hodeknuter. Metodeshowet () har blitt brukt her for å vise en push -funksjonens brukers informasjon i nodene.

Vi har definert hovedmetoden for utførelse av en kode. Startnoden er definert som null. Etter det har vi presset verdiene i hodeknuten ved hjelp av pekeren. Etter det har Show () -metoden blitt kalt her for å vise meldingene. Etter det har den motsatte () metoden blitt kalt her for å reversere verdien av en koblet liste ved å binde overskrifter som er indikert med noden. Igjen er Show () -metoden blitt kalt for å vise den omvendte koblede listen.

La oss kompilere koden vår med GCC -kompilatoren i terminalen i henhold til den angitte kommandoen. Det er ikke funnet noen kompileringsfeil så langt. Filen ble utført etter det. Den viser den originale koblede listen først, deretter den omvendte koblede listen i henhold til SNAP -utgangen nedenfor.

$ GCC omvendt.c
$ ./en.ute

Eksempel 02

Vårt første eksempel indikerte opprettelsen av en koblet liste og la data i den manuelt. Vi vil opprette en lenke og legge til data i den ved kjøretid for å vise og snu den koblede listen. Åpne den samme filen igjen ved å bruke “GNU Nano” -redigereren.

$ nano omvendt.c

De samme overskriftsbibliotekene er inkludert mens Struct Type -noden er opprettet. Tre hovedmetoder er definert. Utførelsen er initialisert fra Main () -metoden. Den konstruerer en nodepeker som null. Create -metoden er blitt kalt mens du binder pekeren innenfor parametrene. Show () -metoden er vist i den originale koblede listen. På den annen side er den motsatte () metoden blitt kalt for å reversere den koblede listen. Den omvendte koblede listen er vist etter det.

Etter anrop av å opprette () metode, vil koden nedenfor bli utført. To peker av strukturen er gjort sammen med 2 heltall; Brukeren vil legge til en verdi for en respektiv node. Denne verdien vil bli tilordnet dens respektive node av en peker "temp". Brukeren har blitt bedt om å enten fortsette å legge til data eller slutte ved å legge til 1 eller 0.

Den omvendte metoden har vært her for å legge til omvendt dataene til en koblet liste. Mens Loop har blitt brukt her for å snu den koblede listen ved hjelp av pekerne.

Show () -metoden er blitt definert her for å skrive ut dataene som er lagt til den koblede listen.

Samlingen og utførelsen er gjort ved å bruke de samme to kommandoene. Brukeren legger inn nodenummeret og dens respektive verdi. Etter å ha sluttet, har den originale og omvendte koblede listen blitt vist på skjermen.

$ GCC omvendt.c
$ ./en.ute

Konklusjon

Denne artikkelen er best på demonstrasjonen av å reversere den koblede listen på C -språket. Reversering av den koblede listen inneholder også å lage en koblet liste og skyve data inn i noder. Til slutt har visningsmetodene blitt brukt til å vise innholdet i original og omvendt rekkefølge.