Python 中的砖排序算法 [轻松实现]

在本教程中,我们将学习如何实现砖排序算法以对数组中的元素进行排序。这在编码世界中是未知的,但学习一种新的排序技术没有什么坏处。

在用 python 编程语言实现砖排序之前,让我们首先了解什么是砖排序。

另请阅读:Python 中的插入排序


砖排序算法简介

砖排序,也称为奇偶排序,是冒泡排序的修改版本排序算法分为两个阶段,即奇数阶段和偶数阶段通过确保在每次迭代中执行偶数和奇数阶段,控制运行直到对数组进行排序。

现在你可能会问这些奇数和偶数阶段是什么意思?当控件执行奇数阶段时,我们将仅对奇数索引处存在的元素进行排序。在事件阶段执行期间的类似模式中,控件将仅对偶数索引处的元素进行排序。


砖排序算法实现

为了实现砖排序,我们将遵循许多步骤,下面也会提到。

  • 声明brick sort 函数来执行排序,并使用一个变量在奇数阶段和偶数阶段之间切换
  • 创建一个变量isSort,初始值为 0。该变量的目的是跟踪当前阶段。
  • 运行 while 循环进行迭代,直到 isSort 等于 1。
    1. 创建一个内部 for 循环来对奇数条目进行排序
    2. 同样创建另一个内部 for 循环来对偶数条目进行排序。
  • 排序完成后,我们返回结果

在 Python 中实现砖块排序

让我们直接开始在 Python 中实现砖块排序算法,并确保我们可以获得预期的输出。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 号
18
19
20
21
22
23
def brickSort(array, n):
    isSort = 0
    while isSort == 0:
        isSort = 1
        for i in range(1, n-1, 2):
            if array[i] > array[i+1]:
                array[i], array[i+1] = array[i+1], array[i]
                isSort = 0
        for i in range(0, n-1, 2):
            if array[i] > array[i+1]:
                array[i], array[i+1] = array[i+1], array[i]
                isSort = 0
    return
  
array = [31, 76, 18, 2, 90, -6, 0, 45, -3]
n = len(array)
print("Array input by user is: ", end="")
for i in range(0, n):
    print(array[i], end =" ")  
brickSort(array, n);
print("\nArray after brick sorting is: ", end="")
for i in range(0, n):
    print(array[i], end =" ")

上述代码如下所示。可以看到数组排序成功。

Array input by user is: 31 76 18 2 90 -6 0 45 -3
Array after brick sorting is: -6 -3 0 2 18 31 45 76 90

结论

我希望今天您了解了一种新的排序算法。虽然要求并不多,但是口袋里有一些额外的知识总是更好!

感谢您的阅读!快乐学习!😇