Gnome Sort 的 Python 程序

pythonserver side programmingprogramming更新于 2024/1/23 0:34:00

在本文中,我们将了解下面给出的问题陈述的解决方案。

问题陈述 − 我们有一个数组,我们需要使用 gnome sort 对其进行排序。

算法

1. 首先我们从左到右遍历数组。
2. 现在,如果当前元素大于或等于前一个元素,则我们向前遍历一步
3. 否则,如果当前元素小于前一个元素,则交换这两个元素并向后遍历一步。
4. 重复上述步骤,直到到达数组末尾

现在让我们观察下面实现中的解决方案 −

示例

def gnomeSort( arr, n):
   index = 0
   while index < n:
      if index == 0:
         index = index + 1
      if arr[index] >= arr[index - 1]:
         index = index + 1
      else:
         arr[index], arr[index-1] = arr[index-1], arr[index]
         index = index - 1
   return arr
# main
arr = [1,4,2,3,6,5,8,7]
n = len(arr)
arr = gnomeSort(arr, n)
print ("排序后的顺序为:")
for i in arr:
   print (i,end=" ")

输出

排序后的顺序为:
1 2 3 4 5 6 7 8

所有变量均在本地范围内声明,其引用如上图所示。

结论

在本文中,我们了解了如何为 Gnome Sort 编写 Python 程序


相关文章