javascript insluitcode

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Een Java-insertsortering evalueert elk item in een lijst. Als een item kleiner is dan het vorige, verwisselt de sortering de items. Anders blijven de items op dezelfde plaats en worden de twee items in de lijst vergeleken.

Computers zijn goed in het sorteren van de lijst met items. Door loops te gebruiken, kunt u door alle items in een lijst zoeken en hun volgorde wijzigen totdat ze op een bepaalde manier verschijnen.

In het programmeren zijn er standaardmanieren om lijsten te sorteren. We noemen deze sorteeralgoritmen. Sorteeralgoritmen lezen alle items in een lijst en sorteren ze met een bepaalde set instructies. Een van de meest recente sorteeralgoritmen die u tegenkomt, is een soort van invoeging.

In deze handleiding zullen we bespreken hoe u een Java-sorteeralgoritme voor invoegen kunt implementeren. We zullen onderweg een voorbeeld doornemen, zodat u de logica achter welk type werkt kunt leren.

Laten we beginnen!

Wat levert een Java-insert-output op?

Een Java-invoegtype werkt als het sorteren van kaarten in de hand in een pak kaarten. Sorteren invoegen vink elk item in een lijst aan en verwissel ze met een item aan de linkerkant. Of een item wordt geruild, hangt af van of het item groter of kleiner is dan het vorige item.

Stel je voor dat je even een kaartspel speelt - whist, rummy, wat dan ook. Wat doe je als je je kaarten bestelt?

Je begint aan de linkerkant en controleert of de tweede kaart is gesorteerd. Als deze kaart groter is dan de vorige, moet deze op dezelfde plaats blijven. Anders moet het één positie in de lijst worden verplaatst.

Je hebt alle kaarten in je hand uitgegeven en doet dit totdat elke kaart in de juiste volgorde verschijnt.

wanneer moet je sorteerinvoer gebruiken?

Er zijn er meerdere soorten invoegingen die worden gebruikt als er nog maar een paar elementen zijn die moeten worden gesorteerd

< /a>

Er zijn efficiëntere algoritmen die u kunt gebruiken om lijsten met gegevens te sorteren, als een soort samenvoeging. Daarom moet u niet altijd standaard een invoegsortering gebruiken. Soorten integratie zijn echter effectiever dan de soorten bubbels en selectie voor posities die een lijst sorteren.

Een invoeging is een soort eenvoudig sorteeralgoritme, wat betekent dat het nuttig is voor beginners om te leren.

p>

invoegprocedure voor sorteren

Het bekijken van een pak kaarten is niet de meest intuïtieve ter wereld. Bekijk om te beginnen een voorbeeld van programmeren. Beschouw de volgende lijst:

8 6 3 9

In deze lijst gaan we ervan uit dat het eerste item is gesorteerd.

Onze volgende stap is om het tweede item in onze lijst met het eerste te vergelijken. Als het eerste element groter is dan het tweede element, wordt dit element voor het eerste element geplaatst.

In dit geval is 6 groter dan 8. Dit betekent dat 6 een positie in onze lijst teruggeeft en 8 zullen een positie opschuiven:

6 8 3 9

Nu moeten we het derde element vergelijken met de elementen links ervan: 3 is groter dan 8? Nee, dus 8 verplaats de positie naar rechts:

6 3 8 9

3 is groter dan 6? Nee, dus we gaan nummer 6 verplaatsen:

3 6 < /td> 8 9

Nu moeten we vergelijken of het vierde punt op onze lijst - het laatste element - superieur is aan al het andere op onze lijst. In dit geval is 9 groter dan alle elementen ervoor: 8, 6 en 3.

Dit is het algoritme dat we hebben gebruikt om de lijst te sorteren:

  • eerste element is gesorteerd.
  • Vergelijk het tweede element met het element links ervan.
  • Als dit element groter is dan de waarde links ervan, blijft het element op dezelfde plaats. Verplaats anders de waarde naar links.
  • Herhaal totdat alle items in volgorde verschijnen.

We hebben nu een gesorteerde array. De invoegsoorten worden op één item tegelijk gesorteerd. Laten we eens kijken hoe we dit sorteeralgoritme in Java kunnen implementeren

Hoe een sorteer in Java invoegen

de hoogste van twee waarden die worden vergeleken, wordt één positie naar rechts ingevoegd telkens wanneer de sorteerfunctie wordt uitgevoerd.

Het is oké om in theoretische termen te spreken , maar hoe wordt het geïmplementeerd in Java? Dat is een goede vraag. Laten we een klas schrijven die sorteert op invoeging op een lijst met cijfers van leerlingen.

De array-bibliotheek voorbereiden

Laten we beginnen door de array-bibliotheek in ons Java-programma te importeren. We zullen deze bibliotheek gebruiken om onze lijst naar de console af te drukken zodra we deze hebben gesorteerd:

decla re een sorteermethode

We beginnen met het declareren van een methode die onze lijst herhaalt en onze gegevens sorteert in oplopende volgorde >:

Laten we beginnen met uit te zoeken hoeveel elementen in onze invoerarray. Hierdoor kunnen we een lus maken die door elk item in onze lijst gaat. We initialiseren een lus die doorloopt totdat we uit onze lijst komen.

In onze lus hebben we twee variabelen gedeclareerd: de sleutel en de laatste.

De Java variabele "sleutel" houdt bij welk element we momenteel bestellen. De variabele "laatste" houdt bij hoeveel items links van het item moeten worden gesorteerd.

Ons programma vergelijkt de waarde van "key" met elk element aan de linkerkant totdat we een kleiner element vinden . Dit gebeurt in onze Java "while" -lus.

Definieer een hoofdfunctie

Als we dit uitvoeren code, er gebeurt niets. We hebben inderdaad onze hoofdfunctie nog niet gedefinieerd. We definiëren een hoofdfunctie die een netwerk van int (een reeks getallen) definieert. Deze hoofdfunctie gebruikt de functie insertSort () die we hebben gedeclareerd om deze cijfers te sorteren. Plak deze code na het declareren van uw entrySort Java-methode :

In onze hoofdmethode hebben we een lijst gedeclareerd met de getallen die we willen sorteren. We hebben onze methode InsertionSort () geïnstantieerd met de naam sortNumbers . We gebruiken deze methode om de lijst met nummers in oplopende volgorde te sorteren. Deze methode verandert de waarden ‚Äã‚Äãin onze "cijfers"-vector; we hebben geen aparte array gedeclareerd om de waarden op te slaan.

Vervolgens gebruikten we de methode Arrays.toString () om onze reeks getallen om te zetten in een tekenreeks. <

h2> examencomplexiteit

invoegsortering heeft een gemiddelde hoofdlettercomplexiteit van O ( n ^ 2). Dit gebeurt wanneer er geen items zijn gesorteerd.

In het beste geval treedt complexiteit op als een array wordt gesorteerd. Dit levert een tijdcomplexiteit op van O (n). inderdaad, de binnenste lus in een soort van invoeging wordt in dit geval helemaal niet uitgevoerd.

in het ergste geval wordt ingevoegd op O ‚Äã‚Äãsort (n ^ 2). Dit gebeurt als een array in oplopende of aflopende volgorde staat en u wilt in omgekeerde volgorde sorteren (dwz van oplopend naar aflopend) de confrontatie van elk element met alle andere elementen ents.

Conclusie

Invoegtypen zijn een efficiënte manier om gegevens te sorteren. orts vergelijkt de waarden vanaf de tweede in een lijst. Als deze waarde groter is dan de waarde aan de linkerkant, verandert onze lijst niet. Anders wordt de waarde verplaatst totdat het element aan de linkerkant kleiner is.

U bent nu klaar om uw eigen sorteeralgoritme voor invoegingen in Java te schrijven! Als u op zoek bent naar meer Java-leermiddelen, bekijk dan onze Java-leergids .