1 00:00:00,000 --> 00:00:00,860 2 00:00:00,860 --> 00:00:02,300 >> ZAMYLA Чан: Зараз давайце паглядзім на роду. 3 00:00:02,300 --> 00:00:07,420 Сартаваць прымае масіў і цэлае п, што памер масіва. 4 00:00:07,420 --> 00:00:09,700 Зараз Існуюць розныя віды роду. 5 00:00:09,700 --> 00:00:13,030 І вы можаце паглядзець на некаторыя шорты для дэманстрацый і тлумачэнняў. 6 00:00:13,030 --> 00:00:16,239 Які вяртаецца тып для нашага Функцыя сартавання, з'яўляецца нікчэмным. 7 00:00:16,239 --> 00:00:20,230 Дык гэта значыць, што мы не збіраемся вярнуцца любы масіў з роду. 8 00:00:20,230 --> 00:00:24,810 Мы на самой справе збіраецца мяняць вельмі Масіў, які быў прыняты ў нас. 9 00:00:24,810 --> 00:00:28,690 І гэта магчыма, таму што масівы перадаюцца па спасылцы ў С. 10 00:00:28,690 --> 00:00:31,560 >> Цяпер мы ўбачым, пра гэта крыху пазней, але істотнае адрозненне паміж 11 00:00:31,560 --> 00:00:35,890 пераходзячы ў нешта накшталт цэлае і якая праходзіць у масіве, што, калі 12 00:00:35,890 --> 00:00:39,620 Вы перадаеце ў выглядзе цэлага ліку, C толькі збіраецца зрабіць копію гэтага цэлага 13 00:00:39,620 --> 00:00:41,120 і перадаць яго ў функцыю. 14 00:00:41,120 --> 00:00:45,190 Арыгінальны пераменная не будзе зменена Пасля таго, як функцыя скончаная. 15 00:00:45,190 --> 00:00:49,160 З масіва, з другога боку, гэта не збіраецца рабіць копію, і вы будзеце 16 00:00:49,160 --> 00:00:54,610 фактычна рэдагавання Сам вельмі масіў. 17 00:00:54,610 --> 00:00:57,930 >> Так адзін тып роду з'яўляецца выбар роду. 18 00:00:57,930 --> 00:01:01,410 Выбар роду працуе, пачынаючы з пачатак, а затым вы ітэрацыі 19 00:01:01,410 --> 00:01:03,480 зноў і знайсці найменшы элемент. 20 00:01:03,480 --> 00:01:07,380 І тады вы памяняць, што маленькі элемент з першай. 21 00:01:07,380 --> 00:01:09,350 А потым вы пераходзіце да другі элемент. 22 00:01:09,350 --> 00:01:14,170 Знайдзіце наступны найменшы элемент, а затым памяняць, што з другога элемента 23 00:01:14,170 --> 00:01:17,760 ў масіве, таму што першы элемент ўжо адсартаваныя. 24 00:01:17,760 --> 00:01:22,030 І так, то вы па-ранейшаму для кожнага элементам у працэсе выяўлення самых маленькіх 25 00:01:22,030 --> 00:01:24,106 значэнне і замены яго. 26 00:01:24,106 --> 00:01:29,320 Для я роўная 0, самы першы элемент, п мінус 1, вы збіраецеся 27 00:01:29,320 --> 00:01:33,280 параўнаць усе наступнае значэнне пасля што і знайсці індэкс 28 00:01:33,280 --> 00:01:34,480 ад мінімальнага значэння. 29 00:01:34,480 --> 00:01:39,190 Як толькі вы знойдзеце індэкс мінімальнага значэння, вы можаце памяняць гэта значэнне масіва 30 00:01:39,190 --> 00:01:42,610 Мінімальны і масіў я. 31 00:01:42,610 --> 00:01:46,420 >> Іншы тып роду, што вы можаце рэалізаваць гэта пузырьковый сартавання. 32 00:01:46,420 --> 00:01:51,040 Так пузырьковый сартавання перабірае спіс, параўнанні суседніх элементаў і 33 00:01:51,040 --> 00:01:54,380 перапампоўкі элементы, якія знаходзяцца ў няправільным парадку. 34 00:01:54,380 --> 00:01:59,040 І такім чынам найбольшы элемент будзе тапырыцца да канца. 35 00:01:59,040 --> 00:02:04,730 ня І спіс сартуецца раз не больш элементы былі замененыя. 36 00:02:04,730 --> 00:02:08,590 >> Такім чынам, гэта два прыкладу роду алгарытмы, якія можна рэалізаваць для 37 00:02:08,590 --> 00:02:09,889 праграма знаходка. 38 00:02:09,889 --> 00:02:14,110 Як толькі вы скончыце роду і ў цябе зроблена пошуку, вы скончыце. 39 00:02:14,110 --> 00:02:16,380 Мяне клічуць Zamyla, і гэта CS50. 40 00:02:16,380 --> 00:02:23,616