数组排序是将数组中的各个元素按照用户定义的一系列规则按某种逻辑顺序排列的过程。该过程包括一步一步地遍历数组,并根据周围的元素测试该元素,以确定是否需要将其移到数组中的另一个索引。当执行数组排序时,有几种算法...
数组排序是将数组中的各个元素按照用户定义的一系列规则按某种逻辑顺序排列的过程。该过程包括一步一步地遍历数组,并根据周围的元素测试该元素,以确定是否需要将其移到数组中的另一个索引。当执行数组排序时,有几种算法可以使用,特别是当排序条件是数值而不是更任意的情况下。大多数数组排序算法是通过其速度和效率来衡量的,最慢的算法是最容易编程的,而最快的则要复杂得多。数组排序是将数组中的单个元素按某种逻辑顺序排列的过程。最简单的数组排序算法称为气泡排序,它也是最慢的。这个过程从循环开始这将遍历数组中的每个元素。将当前元素与数组中的下一个元素进行比较,如果下一个元素的值低于当前元素,则会切换索引处的数据。气泡式排序的缺点是需要在数组中循环几次以进行所有必要的交换对数组进行排序。在最基本的实现中,排序将针对它所包含的每个元素在整个数组中循环一次。选择排序使用的算法执行数组排序的效率比气泡排序稍微高一点,但仍需要在数组中进行多次迭代。此排序首先循环数组以查找值最低的值元素。然后将此元素放入数组的第一个索引中,并且一些跟踪变量将递增。然后循环将重复,现在寻找下一个最小值,然后将该值放入数组的第二个索引中这个过程一直持续到最高值的元素被放在数组的最后一个索引中。数组排序的一种方法虽然效率很高,但有时实现起来很复杂,称为快速排序。快速排序包括获取数组中所有可能值中间的值。该算法将遍历所有数组的元素,并将所有大于中值的值放在数组的末尾,将较小的值放在数组的开头。此过程在数组的块上递归执行,直到最后对整个数组进行排序。假设用于数组的中间值相当准确,这是一种非常快速的排序方法。影响数组排序算法的一个因素是测试数据的等效性的方法。简单的数字很容易比较哪个值更大,但对于需要比较多个条件的复杂数据类来说,情况可能并非如此,比较一个元素大于或小于另一个元素所需的时间越长,算法对数组进行排序所需的时间就越长
-
发表于 2020-08-06 21:05
- 阅读 ( 924 )
- 分类:电脑网络