Python3 notes

简介: Python3 notes

Python 选择排序


选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

实例

importsysA = [64, 25, 12, 22, 11]    foriinrange(len(A)):                 min_idx = i      forjinrange(i+1, len(A)):          ifA[min_idx] > A[j]:              min_idx = j                       A[i], A[min_idx] = A[min_idx], A[i]    print("排序后的数组:")foriinrange(len(A)):      print("%d" %A[i]),

执行以上代码输出结果为:

排序后的数组:

11

12

22

25

64



可选择升序和降序。

#待排序数组arr,排序方式order>0升序,order<0降序

def selectSort(arr,order):

   rborder = len(arr)

   for i in range(0,rborder):

       p = i

       j = i+1

       while(j

           if((arr[p]>arr[j]) and (int(order)>0)) or ((arr[p]

               p = j

           j += 1

       arr[i], arr[p] = arr[p], arr[i]

       i += 1

   return arr

A = [64, 25, 12, 22, 11]  

print(selectSort(A, -1))

print(selectSort(A, 1))


相关文章
|
Linux Python
LINUX These critical programs are missing or too old: compiler python
LINUX These critical programs are missing or too old: compiler python
1168 0
LINUX These critical programs are missing or too old: compiler python
|
8月前
|
移动开发 Python
Python3 notes
Python3 notes
|
8月前
|
存储 NoSQL 安全
Redis入门到通关之Redis数据结构-String篇
Redis入门到通关之Redis数据结构-String篇
111 1
|
8月前
|
数据可视化
R语言极值理论:希尔HILL统计量尾部指数参数估计可视化
R语言极值理论:希尔HILL统计量尾部指数参数估计可视化
|
Ubuntu API
更改默认 CA
更改默认 CA
679 1
Go 语言入门很简单:读写锁(下)
这一篇文章我们来介绍 Go 语言帮我们实现的标准库的 sync.RWMutex{} 读写锁。
|
缓存 网络协议 网络安全
RH358管理DNS和DNS服务器--自动化名称服务器配置
RH358管理DNS和DNS服务器--自动化名称服务器配置
280 0
RH358管理DNS和DNS服务器--自动化名称服务器配置
|
缓存 网络安全 开发工具
GitHub push文件失败时
在使用GitHub push最新的文件时,有时可能会出错,下面列出解决方案,这时需要用到GitShell 1.报错如下 fatal: The remote end hung up unexpectedly fatal: The remote end hung up unexpected...
|
数据安全/隐私保护
WinForm中提示Circular base class dependency involving &#39;TestEncryption.Form&#39; and &#39;TestEncryption.Form&#39;
        最近想做一个可以选择文件、加密方式进行加密的小东西,于是画了一个WinForm界面,但当我把Form的name由Form1改为Form时,提示如下错误:"Circular base class dependency involving 'TestEncryption.Form' and 'TestEncryption.Form'"         错误的原因就是:The
1288 0