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)

 

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

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

 

转载于:https://www.cnblogs.com/logn2/p/python.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值