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)

 

蕭伯納說:“你有一個蘋果,我有一個蘋果,彼此交換一下,我們彼此仍然是各有一個蘋果;但是你有一種思,我有一種思想,彼此交換一下,才發現從不同角度看到的問題遠比本身更深刻,所以多交流多溝通是我們提高自我能力的一種方式!!!

如果你有更好更簡單的方法,請一定評論謝謝!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM