1 00:00:00,000 --> 00:00:00,860 2 00:00:00,860 --> 00:00:02,300 >> ZAMYLA CHAN: La oss nå se på liksom. 3 00:00:02,300 --> 00:00:07,420 Sorter tar en matrise og heltallet n, som er på størrelse med matrisen. 4 00:00:07,420 --> 00:00:09,700 Nå er det ulike typer slag. 5 00:00:09,700 --> 00:00:13,030 Og du kan se på noen shorts for demoer og forklaringer. 6 00:00:13,030 --> 00:00:16,239 Returtypen for vår sorteringsfunksjonen er ugyldig. 7 00:00:16,239 --> 00:00:20,230 Så det betyr at vi ikke kommer å returnere noen utvalg fra slag. 8 00:00:20,230 --> 00:00:24,810 Vi blir faktisk kommer til å endre selve array som ble vedtatt i oss. 9 00:00:24,810 --> 00:00:28,690 Og det er mulig fordi arrays fattes med referanse i C. 10 00:00:28,690 --> 00:00:31,560 >> Nå vil vi se mer om dette senere, men vesentlig forskjell mellom 11 00:00:31,560 --> 00:00:35,890 passerer i noe sånt som et heltall og passering i en matrise, er at når 12 00:00:35,890 --> 00:00:39,620 du passerer i et heltall, er C bare kommer å lage en kopi av det heltall 13 00:00:39,620 --> 00:00:41,120 og gi det til funksjonen. 14 00:00:41,120 --> 00:00:45,190 Den opprinnelige variabelen vil ikke endres når funksjonen er avsluttet. 15 00:00:45,190 --> 00:00:49,160 Med en matrise, på den annen side, er det ikke kommer til å lage en kopi, og du vil 16 00:00:49,160 --> 00:00:54,610 faktisk være å redigere veldig matrise seg selv. 17 00:00:54,610 --> 00:00:57,930 >> Så en type slag er utvalget slag. 18 00:00:57,930 --> 00:01:01,410 Utvalget slags fungerer ved å starte på begynnelsen og deretter du reagere 19 00:01:01,410 --> 00:01:03,480 over og finne det minste elementet. 20 00:01:03,480 --> 00:01:07,380 Og så du bytte det minste elementet med den første. 21 00:01:07,380 --> 00:01:09,350 Og så du flytter til det andre elementet. 22 00:01:09,350 --> 00:01:14,170 Finn den nest minste element og deretter bytte det med det andre elementet 23 00:01:14,170 --> 00:01:17,760 i matrisen, fordi den første elementet allerede er sortert. 24 00:01:17,760 --> 00:01:22,030 Og så så du fortsetter for hver element i å identifisere den minste 25 00:01:22,030 --> 00:01:24,106 verdi og bytte den ut. 26 00:01:24,106 --> 00:01:29,320 For jeg er lik 0, den aller første elementet, til n minus en, du kommer til å 27 00:01:29,320 --> 00:01:33,280 sammenligne hver neste verdi etter det og finne indeksen 28 00:01:33,280 --> 00:01:34,480 av minimumsverdi. 29 00:01:34,480 --> 00:01:39,190 Når du finner den laveste verdien indeksen, du kan bytte at verdien av matrise 30 00:01:39,190 --> 00:01:42,610 minimum og matrise jeg. 31 00:01:42,610 --> 00:01:46,420 >> En annen type slag som du kan implementere er boble slag. 32 00:01:46,420 --> 00:01:51,040 Så boble sorterings gjentas over listen, sammenligne tilstøtende elementer og 33 00:01:51,040 --> 00:01:54,380 bytte de elementene som er i feil rekkefølge. 34 00:01:54,380 --> 00:01:59,040 Og på denne måten det største elementet vil boble ut til enden. 35 00:01:59,040 --> 00:02:04,730 Og listen er sortert gang ikke mer elementer har blitt byttet. 36 00:02:04,730 --> 00:02:08,590 >> Så de er to eksempler på slag algoritmer som du kan gjennomføre for 37 00:02:08,590 --> 00:02:09,889 Finn-programmet. 38 00:02:09,889 --> 00:02:14,110 Når du er ferdig med å sortere og du har gjort søk, du er ferdig. 39 00:02:14,110 --> 00:02:16,380 Mitt navn er Zamyla, og dette er CS50. 40 00:02:16,380 --> 00:02:23,616