Python 对数组进行排序
通常有多种方法可以对数组进行排序。数组可以按升序或降序排序。按升序排序的数组将先出现较小的元素,然后才是较大的元素。按降序排序的数组将先出现较大的元素,然后才是较小的元素。
通常可以使用Python语言的基本特性对数组进行排序。为了实现这一目的,使用了两个循环。
输入输出场景
Consider an array arr = [ 5, 9, 1, 10, 3 ].
现在,让我们通过将一个元素与另一个元素进行比较来对数组进行排序。
- 最初,将第一个元素与其余的元素进行比较。
-
同样的过程重复进行,直到最后一个元素,使整个数组组织或排序。
按升序排列的“arr”的排序数组为sorted_array = [1, 3, 5, 9, 10]。
步骤
- 步骤1 - 最初,必须创建或声明一个具有一些元素的数组。请注意,数组中所有的元素都应属于相同的数据类型。
-
步骤2 - 为了对元素进行排序,首先要进行的步骤是比较元素。将一个元素与其余元素进行比较。如果元素小于其他元素,则将其放置在数组的第一个位置(当需要按升序排序时)。因此,为了进行比较,需要两个循环。第一个循环用于相应地从数组中选择一个元素。
-
步骤3 - 第二个循环或内循环用于将在第一个循环中选择的元素与其他元素进行比较。选择元素是通过增加索引号来完成的。这一步是整个排序过程中最重要的步骤之一。
-
步骤4 - 在比较元素之后,检查外循环中选择的元素是否小于内循环中选择的元素。如果元素小于其他元素,则使用“temp”变量交换元素的值。 “temp”变量用作桥梁,以便轻松地存储其他元素的值并交换值。(这主要用于按升序排序数组)。
-
步骤5 - 通过增加循环中的索引值(内循环和外循环),继续并重复整个过程,直到所有元素都被比较并排序。完成整个过程后,生成的数组即为所需的排序数组。
示例
在下面的示例中,我们将学习按升序排列的方式对数组进行排序的过程。
arr = [5, 9, 1, 10, 3, 8, 4, 2, 7, 6]
temp = 0
max_size = len(arr)
print("The elements of the array before sorting: ");
for i in range(0, max_size):
print(arr[i], end=" ")
print()
for i in range(0, max_size):
for j in range(i+1, len(arr)):
if(arr[i] > arr[j]):
temp = arr[i]
arr[i] = arr[j]
arr[j] = temp
print("The elements of the array after sorting: ")
for i in range(0, max_size):
print(arr[i], end=" ")
输出
上述程序的输出如下:
The elements of the array before sorting:
5 9 1 10 3 8 4 2 7 6
The elements of the array after sorting:
1 2 3 4 5 6 7 8 9 10
结论
通过使用Python的基本特性(如循环、条件语句等),可以以升序或降序的方式对数组进行排序。这不被认为是一种高效的技术,因为还有其他高效的算法可以减少运行时间,但在编程语言的基本知识上,这个算法很容易构建和理解。这种技术主要用于较小的应用程序中。