14 Dit proces herhaalt zich totdat onze lijst is besteld. Wanneer ons algoritme klaar is met uitvoeren, wordt de volgende lijst geretourneerd: Onze lijst is in oplopende volgorde gesorteerd. Een soort selectie maken in JavaHet is één ding om te weten hoe een soort selectie werkt; het is een andere constructie. Code om een geselecteerde sorteervolgorde in Java achter te laten die de logica gebruikt die is besproken in de walkthrough Instelling up het programma Maak een bestand met de naam selection_sort.java. We beginnen met het importeren van de Java Arrays-bibliotheek in onze code: We gebruiken deze bibliotheek later in onze code. we gebruiken het om ons gesorteerde bereik naar een string te converteren, zodat we het naar de console kunnen afdrukken. Creëer sorteerfunctie Vervolgens zullen we een klasse declareren en zullen we een methode maken om onze sorteerselectie te maken Voeg het volgende toe aan uw bestand selection_sort.java:. In onze klas hebben we een methode gedefinieerd met de naam sortNumbers die onze sortering doet. Laten we beginnen met het berekenen van de lengte van onze array. We slaan de lengte van onze array op in een Java -variabele. Vervolgens maken we een LUCRATIEVE Java-lus . Deze cyclus doorloopt elk item op onze lijst. Binnen deze lus bevindt zich het minimumelement, dat het eerste element in de lijst is Vervolgens voeren we nog een lus uit om het minimumelement te vergelijken met elk element in de lijst. Als het door de lus gelezen getal kleiner is dan het minimumaantal, de "minimale" waarde wordt dat getal. In onze lus vertegenwoordigt "getal" de waarde van de index van het getal waarmee we de minimumwaarde vergelijken. Zodra het minimum aantal is vergeleken met elk nummer in de lijst, onze lus voor interne stops. Het minimum aantal wordt dan verplaatst na alle gesorteerde nummers in de lijst. Bel de sorteerfunctie Onze code doet nog niets We hebben onze klasse nog niet aangeroepen en hebben een lijst gegeven om te sorteren Voeg in de methode sortNumbers in de lijst de volgende code toe:. In onze hoofdmethode hebben we een lijst van type-elementen gedeclareerd genaamd toSort. Vervolgens initialiseren we een instantie van onze SelectionSort-klasse met de naam newSort. We gebruiken het om onze sortNumbers methode aan te roepen, die de waarden sorteert in de array toSort Na methode sortNumbers wordt uitgevoerd, printen we de gesorteerde array naar de console. We doen dit met behulp van de Arrays.toString () methode, die onze array converteert naar een lijst met strings. Laten we uitvoeren onze code: Onze lijst is gesorteerd Selecteer Sorteer Java: Sorteer waarden ‚Äã‚Äãin aflopende volgordeHet is interessant op te merken dat u de waarden kunt sorteren. in aflopende volgorde Vervang hiervoor de volgende regel code in uw sortNumbers-methode: Met deze code: Deze code controleert of de "minimale" waarde groter is dan de toegang voor de lus. Dit betekent dat de "minimale" waarde de hoogste waarde in een lijst weergeeft in plaats van de laagste waarde. Om verwarring te voorkomen, moet u de naam "minimum" wijzigen in "maximum" als u een lijst sorteert in aflopende volgorde. Dat heb je gedaan. U hebt een lijst in Java afgestemd met behulp van sorteren op het selectie-algoritme. Hoe complex is een sortering op Java-selectie?Er zijn drie complexiteiten waarmee we rekening moeten houden bij het evalueren van een algoritme. het beste van gevallen, het slechtste geval en het gemiddelde geval sortering selectie complexiteit van het beste, gemiddelde en slechtste geval van O (n ^ 2). Dit betekent dat het algoritme exponentieel meer nodig heeft naarmate het aantal items in een lijst groeit. Ben je in de war door de complexiteit van de algoritmen? Bekijk onze tweedelige serie over Big O-notatie . Dit is de notatie die we gebruiken om de complexiteit van algoritmen te beschrijven. ConclusieSelectiesorteringen zijn een effectieve manier om gegevenslijsten te sorteren. Ze werken door het kleinste item uit een ongesorteerde lijst te selecteren en het naar de bovenkant van de ongesorteerde lijst te verplaatsen. Dit proces herhaalt zich totdat de lijst is gesorteerd. Is - wat je een Java-ontwikkelaar wilt worden? Bekijk onze Java-leergids .In deze gids vindt u de beste leertips en advies over de beste online cursussen en leermiddelen. |