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 排序需要一個數組和整數 n,它是該數組的大小。 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 那是可能的,因為數組 通過引用在C中被傳遞 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 然後你換了最小 元件與所述第一1。 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 對於i等於0,第一個元素, 到n減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 find程序。 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