Valgssorter i C ++

Valgssorter i C ++
I likhet med mange andre sorteringsteknikker, er utvalgssorteringen en stabil sortering som velger den laveste verdien fra en uordnet liste og setter den på den første plasseringen av den uordnede listen i hver loop. Array. Hele elementer er ordnet i den ene seksjonen, mens objektene er uordnede i den andre. Vi begynner med å trekke ut matrisens maksimale og minimumsverdier. Vi setter dataene (for eksempel minimale) på nummer én ved å erstatte dataene fra den første posisjonen med minst data. Arrayen krymper som et resultat av handlingen. La oss begynne med å opprette og åpne en ny C ++ -fil i terminalen.

Eksempel 01:

Vi starter vårt første eksempel med en enkel illustrasjon av den konvensjonelle metoden for å bruke valg i C++. Vi har lagt til singelen “iostream” -overskrift på første linje ved å bruke nøkkelordet “#include”. Bruk navneområdet “STD” via C ++ “Bruke” snarvei. Her kommer “Swap” -funksjonen for valg av valg for å bytte noen verdier med hverandre. Denne funksjonen tar to verdier som en inngang, i.e., “X” og “Y”. Variabelen “temp” er erklært som et heltall. Etter dette har verdien av variabel “x” blitt gitt til variabelen “temp”. Verdien av variabel “y” blir overstyrt i variabelen “x”, og verdien av “temp er tilordnet variabelen“ y ”. Ved å bruke denne bytte -teknikken, utveksles eller "x" og "y" -variabler.

Showet () -funksjonen vil bli kalt av Main () -metoden to ganger, i.e., Før og etter sortering. Denne funksjonen vil ta matrise “A” og størrelsen “N” fra Main () -metoden og iterere verdiene til en matrise “A” ved å bruke “For” -sløyfen. På hver iterasjon vil den fortsette å vise hver verdi av Array “A” ved indeksen “I” ved å bruke “Cout” standardutgangsuttalelsen. Etter å ha vist alle verdiene ved hjelp av "for" -sløyfen, vil showet () -funksjonen legge til en linjepause eller ende ved å bruke "\ n" -tegnet i "cout" standarduttalelsen. Show () -funksjonen er fullført her:

Nå er det på tide å utføre utvalgssorteringen på vår tilfeldige uordnede matrise som er lagt inn av en bruker. Så denne funksjonen vil bare bli kalt av Main () -funksjonen. Det tar matrisen “A” og størrelsen “S” fra Main () -metoden. En variabel “IM” av heltallstypen initialiseres for å bli brukt som en indeks av den minste verdien i matrisen. Den ytre "for" -løkken har blitt brukt til å iterere indeksene for en matrise opp til størrelse “S-1”. Den minste indeksen, "jeg", vil bli tildelt "IM" -variabelen. Den indre "for" -løkken starter fra etterfølgeren av "jeg" -indeksen, jeg.e., “J = i+1”.

På hver iterasjon vil verdien av variabel “IM”, som er den minste verdien i en matrise, sammenlignes med indeksen “J” for en matrise. Hvis verdien av "im" er mindre enn verdien av "j", vil indeksen for "j" bli tildelt variabelen "im". Nå vil "J" bli "im", og "im" vil bli "j", jeg.e., Den minste verdien vil bli tilordnet "IM" -variabelen. "Swap" -funksjonen er her for å utføre bytte mellom indeksen "i" -verdien og verdien til "im" av en matrise, i.e., mellom små og store verdier.

Med utgangspunkt i Main () -metoden har vi erklært en heltallvariabel “N”. "Cout" -objektet brukes her for å be en bruker om å legge inn "det totale antall elementer" de vil bruke til en matrise. "CIN" standardinngangsklausulen brukes til å få inngangsnummeret fra brukeren og lagre det til variabelen "n". Etter dette har vi initialisert en heltallstype "A" av størrelsen "n", i.e., Størrelse vil bli definert av brukerinngangen. COUT -standardutgangsuttalelsen ber brukerne legge inn verdier i matrisen opp til ønsket størrelse, i.e., “N”. "For" -sløyfen er startet for å iterere indeksene til en matrise fra 0 til størrelse N-1.

På hver sløyfe -iterasjon vil brukeren legge til en enkelt verdi atskilt fra andre verdier med et rom. Etter innsetting av alle verdiene i matrisen “A”, vil COUT -setningen for standardutgang vise oss at programmet vil vise den tilfeldige matrisen som er lagt til av brukeren selv. Show () -funksjonen vil bli kalt ved å sende den tilfeldige matrisen “A” inn i den sammen med størrelsen “N”. Den usorterte matrisen lagt til av brukeren vil vises på skallet vårt.

Etter dette sier en annen cout -uttalelse at programmet vil vise den sorterte arrayen “A” etter å ha brukt valgsorteringen på den uordnede. Sorteringsfunksjonen har blitt kalt ved å passere matrisen “A” og størrelse “N” som et argument for den. Sorteringsfunksjonen vil utføre en valgsort for å organisere matrisen i stigende rekkefølge og oppdatere matrisen. Etter sorteringsfunksjonen har showet () funksjonen blitt kalt igjen ved å sende matrisen “A” og størrelse “N” til parametrene. Show () -funksjonen vil vise den sorterte matrisen “A” på skallterminalen på slutten.

Kodefilen er samlet og utført på skallet. Brukeren har skrevet inn antall elementer for matrisen som 10. Etter dette har en bruker lagt inn de tilfeldige usorterte 10 verdiene for en matrise. Den usorterte og den sorterte matrisen ble vist etter det.

Eksempel 02:

Valgssorteringen kan implementeres på en annen måte uten å bruke noen brukerdefinerte funksjoner for sortering. Så vi har bestemt oss for å implementere den andre veien også. Det startet koden med iostream -biblioteket og navneområdet for C++. Main () -funksjonen er startet ved å erklære heltallvariabler som N, Array A, Temp, S, Sjekk C og Index. Programmet har bedt om å legge inn størrelsen. "CIN" -uttalelsen brukes til å ta størrelse som inngang i variabel "n". Etter dette har brukeren bedt om å legge inn 10 verdier.

"For" -sløyfen er initialisert for å legge til de 10 verdiene ved hjelp av "CIN" -objektet. Den neste "for" -sløyfen brukes her for å initialisere sjekkverdien til 0 ved hver iterasjon og lagre verdien ved indeksen “I” for en matrise til variabelen “S”. Den indre "for" -løkken vil bruke "if" -uttalelsen for å sjekke om verdien hos forgjengeren "j" er mindre enn verdien "s". Det vil legge til verdien eller indeksen “j” til variabel “s”. Kontrollen vil være økning, og variabelen "indeks" vil bli tildelt indeksen "j". Hvis sjekken “C” ikke er lik 0, vil verdiene byttes ut. Endelig blir den sorterte matrisen skrevet ut.

Vi la til 8 som inngangsstørrelse og 8 verdier i matrisen ved å kjøre denne koden. Den sorterte matrisen er vist på skallet som vist nedenfor:

Konklusjon:

Denne artikkelen handlet om å bruke utvalgssort i C ++ for å sortere en matrise i stigende rekkefølge. Vi har brukt brukerdefinerte bytte, sorterer og viser funksjoner for å utdype dette konseptet tydeligere og innenfor deler. Ved hjelp av denne artikkelen vil du kunne lære valget mer effektivt og effektivt. Vi håper du fant denne artikkelen nyttig. Sjekk de andre Linux -hint -artiklene for flere tips og opplæringsprogrammer.