zoukankan      html  css  js  c++  java
  • python不使用系统库中的排序方法判断一个数组是否是有序数组

     2. 给定一组整数, 已知其每两个数都互不相同,判断这些数字是否能排成一个有序的数组?

    例:li = [1,3,4,2] 是有续的 可以排序为li =[1,2,3,4]

      li = [2,4,6,8] 是无续的 可以排序为li =[1,2,3,4]

      (不允许使用系统库中的排序方法)

    思路:先使用冒泡排序将数组进行排序整合,再使用下标索引检查是否满足序列要求

     1 def one_func(_list):
     2     n = len(_list)
     3     conten = 0
     4     for i in range(n - 1):
     5         for i in range(n - 1 - i):
     6             if _list[i] > _list[i + 1]:
     7                 _list[i], _list[i + 1] = _list[i + 1], _list[i]
     8                 conten += 1
     9             if conten == 0:
    10                 continue
    11     for j in range(len(_list) - 1):
    12         if _list[j + 1] != _list[j] + 1:
    13             res = '无序'
    14             break
    15         else:
    16             res = '有序'
    17     print(res)
    18 
    19 
    20 if __name__ == '__main__':
    21     li = [1, 4, 3, 2]
    22     one_func(li)
    23     print(li)

    萧伯纳说:“你有一个苹果,我有一个苹果,彼此交换一下,我们彼此仍然是各有一个苹果;但是你有一种思,我有一种思想,彼此交换一下,才发现从不同角度看到的问题远比本身更深刻,所以多交流多沟通是我们提高自我能力的一种方式!!!

    如果你有更好更简单的方法,请一定评论谢谢!!!

  • 相关阅读:
    javascript私有静态成员
    javascript公有静态成员
    javascript沙箱模式
    javascript构造函数模块
    javascript模块模式
    javascript私有方法揭示为公有方法
    javascript命名空间
    javascript构造函数强制使用new
    javascript惰性函数
    javascript柯里化
  • 原文地址:https://www.cnblogs.com/logn2/p/python.html
Copyright © 2011-2022 走看看