Snelle sorteren (5 / 7 stap)

Stap 5: Uitvoering van qs_partition


Achtergrond

Voordat je rond aan de uitvoering van de functie quick_sort, moeten we begrijpen dat quick_sort niet veel werk doen door zelf. Onze qs_partition functie doet het meeste werk. qs_partition neemt als parameters een matrix van gehele getallen, een linkerrand in die matrix en een rechterrand in die matrix, en geeft een geheel getal, net als belangrijkste.

* Opmerking: omdat een bibliotheek die wij gebruiken (algorithm.h) al een functie genaamd partitie heeft, zullen we onze partitie functie qs_partitionnoemen.

Doel

De taak van qs_partition is om Kies een nummer in de matrix als een spil en alle getallen in de matrix te scheiden in twee groepen: die kleiner is dan of gelijk is aan de spil en degenen die groter zijn. De Unie stelt alle lagere of gelijke getallen voordat de spil en alle grotere getallen na. Hier is een manier die kan worden bereikt.

Stappen

1) qs_partition eerste neemt het eerste ding dat het is toegestaan te raken (het item op de linkerrand) en noemt het een spil. Er is niets bijzonders hier gaande. De functie doet eerst alles verklaren dat een waarde met de naam van de pivot is gelijk aan het eerste item dat de functie is toegestaan om toegang.

2) op dezelfde manier, we bellen een variabele toSwap en de index van het scharnierpunt toewijzen.

3) we lopen door de array, kijkend naar elk item van de tweede waarde de rechterrand. We vergelijken niet de eerste waarde die moet de pivot-waarde omdat de eerste waarde is de waarde van de draaitabel.

4) op elke plek vergelijken we de waarde op die plek met onze pivot. Als die waarde kleiner dan of gelijk aan de spil is, willen we die waarde zo ver naar het begin van de array mogelijk verplaatsen. Dat is waar toSwap komt binnen. Wij zullen de waarde bij toSwap ruilen (omdat toSwap een index) en de huidige waarde we zien, dan wij zult toSwap verhogen door een, dus we zijn niet van die omwisselen waarden terug uit in het midden van de matrix.

5) zodra we alle getallen hebben doorlopen, zullen onze index toSwap de plek waar we willen plaatsen onze pivot vertegenwoordigen. Zo wisselen we het belang van toSwap en de waarde van de draaitabel. Tot slot, we keren, of gaan terug naar de functie die aangeroepen van qs_partition, de index van waar wij de spil. U zult waarom spoedig zien.

Beoordeling

Hopelijk kunt u zien dat we door het opeenvolgend omwisselen van getallen kleiner dan de spil in de eerste plek na onze laatste swap, het gewenste effect hebt gemaakt: alle getallen voordat de spil zijn kleiner dan of gelijk aan de spil en alle getallen na het groter.

Gerelateerde Artikelen

Eenvoudige delen-sorteren tabel

Eenvoudige delen-sorteren tabel

deze eenvoudige sorteer tabel is een geweldige aanvulling op shop of lab.  Nadat mijn vingers jammen in blikjes gevuld met scherpe schroeven en andere dodelijke objecten, op zoek naar enkele specifieke bout of bout, besloten heb ik eindelijk te verri
Extreme schotel wassen gemaakt gemakkelijk!

Extreme schotel wassen gemaakt gemakkelijk!

Got alot van gerechten te wassen met de hand en ze gedaan in een haast nodig? Dan is dit instructable voor jou!** De volgende instructable is mijn UITPUTTENDE lijst van trucs, tips, hacks en technieken voor het verkrijgen van--met name alot van--gere
Capacitieve bodemvocht meten (met I2C)

Capacitieve bodemvocht meten (met I2C)

Veel is geschreven over het meten van bodemvocht en vooral op welke sensor te gebruiken.Met het eenvoudige weerstand meten is het grootste probleem de corrosie van de sensor, niet alleen omdat het in contact met het bodemmonster maar ook omdat er een
Knex Coin Sorter V2

Knex Coin Sorter V2

Hallo iedereen! Ik heb al van plan dit project voor een tijdje nu: Coin Sorter versie 2! Deze sorter heeft vele nieuwe functies en verbeteringen in versie 1, met inbegrip van:Sneller sorterenGemakkelijker aan te passen voor verschillende muntenKeuzen
Geotag uw digitale Camera foto's in Lightroom met een Smartphone-GPS

Geotag uw digitale Camera foto's in Lightroom met een Smartphone-GPS

Geotagging is een proces waarmee u geografische locatie-informatie aan uw foto's metagegevens toevoegt. Bijvoorbeeld, als je nam een foto van de Golden Gate Bridge, zal een foto met een geocodering verzenden hebben de locatie van waar je nam de foto
SCHORT van de HOLDING

SCHORT van de HOLDING

iedereen heeft een Zak van de Holding deze dagen, maar niemand heeft een Schort van de Holding. Met zijn meerdere geribbelde zakken altijd gehouden open om te ontvangen, zijn verschillende zachte zakken te houden dingen sluiten en een gloeiende natuu
Definiëren van een nieuwe sorteer algoritme gebaseerd op parallelle decoderen en coderen van de latere

Definiëren van een nieuwe sorteer algoritme gebaseerd op parallelle decoderen en coderen van de latere

Een sorteeralgoritme is een algoritme om elementen van een lijst in een bepaalde volgorde zet. De meest gebruikte orders zijn numerieke volgorde en lexicografische volgorde. Efficiënt sorteren is belangrijk voor het optimaliseren van het gebruik van
Hoe om te controleren of uw buren hun e-mail ophalen als het eindigt in uw vak

Hoe om te controleren of uw buren hun e-mail ophalen als het eindigt in uw vak

dit is een gids te dragen aan een cultuur van respect in uw gebouw door ervoor te zorgen dat uw buren hun e-mail ophalen als het wind in uw mailbox. Het is een van die ongelofelijk eenvoudig dingen die de meesten van ons niet de moeite te doen, maar
Stofzuiger die zuigt... of liever niet zuigen

Stofzuiger die zuigt... of liever niet zuigen

deze rechtop reiniger was over te gaan in een afvalcontainer (dumpster), vroeg ik de worp-ee wat verkeerd was en kreeg te horen dat het niet goed schoon.  Als het leek bijna nieuw vroeg ik of ik hebben kon en dit "repareren" begon.Ik heb het hui
Het gebruik van Mp3Tag Audio bestanden te bewerken

Het gebruik van Mp3Tag Audio bestanden te bewerken

Mp3Tag is een meta-data het uitgeven hulpmiddel gebruikt voor het bewerken van verschillende aspecten van een audio-bestand, die mogelijk ontbreekt bij het downloaden van het audiobestand, zoals de Album Artist, het jaar der kwijtschelding, de dag va
Crafty kunnen sorteren sokken snel.

Crafty kunnen sorteren sokken snel.

Sokken sorteren is één van die overlast dingen die je hoeft te doen die echt eats opwaarts tijd.  Dus ik een manier gevonden om het gemakkelijker maken om opgewassen zijn sokken nadat ze uit de droger komen. Ik had niet gedacht dat om het even wat va
Snelle oplossing voor het sorteren van sleutels

Snelle oplossing voor het sorteren van sleutels

De houwer van de verf voor het differentiëren tussen de toetsen in een haast.Spray verf kiezenKleur ze nauwe afstand in een plastic zakLaat haar droger aan kant van een tas voor 5min (andere kant zet, verf & weer wachten)Leg ze op sleutelhanger en al
Metalen krijg Nou snel kaart

Metalen krijg Nou snel kaart

onlangs mijn beste vriend werd gediagnosticeerd met een ernstige ziekte en dus mij en mijn vriend Mark besloot te bouwen hem een goed metalen krijgen binnenkort kaart.Stap 1: Wat moet je Alvorens u begonnen wordt zich bewust van te zijn dit 24 uur va
Sorteren van uw stuiver pot

Sorteren van uw stuiver pot

voor de meeste banken, verzilveren in uw stuiver pot is iets wat ze slechts met tegenzin doen. U moet handmatig sorteren de munten in één denominaties. U moet handmatig zakken ze naar precieze hoeveelheden. Ook al hebben ze de high-tech, industrie-pr