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