mergesort_arithmetic_python
def merge(a, b):
c = []
h = j = 0
while j < len(a) and h < len(b):
if a[j] < b[h]:
c.append(a[j])
j += 1
else:
c.append(b[h])
h += 1 if j == len(a):
for i in b[h:]:
c.append(i)
else:
for i in a[j:]:
c.append(i) return c def merge_sort(lists):
if len(lists) <= 1:
return lists
middle = int(len(lists)/2)
left = merge_sort(lists[:middle])
right = merge_sort(lists[middle:])
return merge(left, right) if __name__ == '__main__':
a = [4, 7, 8, 3, 5, 9]
print(merge_sort(a))
mergesort_arithmetic_python的更多相关文章
随机推荐
- wx:Textctrl
import wx class Mywin(wx.Frame): def __init__(self, parent, title): super(Mywin, self).__init__(pare ...
- RabbitMQ -- unacked
RabbitMQ解决大量unacked问题 为了快速响应用户请求,我们需要消息异步处理机制,比较简单的做法是用redis的List结构,我们项目使用更专业的RabbitMQ.关于redis和Rabbi ...
- 关于PHP将对象数据写入日志的问题
有时候在调试项目的时候,需要将一个对象或者对象的实例记录下来观察数据,如果用json_encode可能拿到的是空数据, 此时,改为使用 $data = print_r($data,1); 然后将 $d ...
- save
docker-compose-orderer.yaml # Copyright IBM Corp. All Rights Reserved. # # SPDX-License-Identifier: ...
- SSLServerSocket代码实现
理解一个设计思想,结合代码是最好的途径.安全套接字服务端的实现代码如下: X509TrustManager MyX509TrustManager = new X509TrustManager() { ...
- js多个异步请求,按顺序执行next
在js里面,偶尔会遇见需要多个异步按照顺序执行请求,又不想多层嵌套,,这里和promise.all的区别在于,promise或者Jquery里面的$.when 是同时发送多个请求,一起返回,发出去的顺 ...
- vue--postcss插件
vue-loader里的postcss插件会帮你抹平浏览器兼容的写法
- React/VUE 脚手架2.0和3.0
react官方脚手架 npm install -g create-react-app create-react-app my-app cd my-app npm start 区别自己对比 vue2.x ...
- 项目遇到的css样式
1. 这种怎么写?用radio,我这里用的时element的radio <div class="menu"> <span>我的粉丝({{totalNumbe ...
- cocos2dx 3.x(纯代码实现弹出对话框/提示框/警告框)
头文件: // // PopAlertDialog.h // macstudycocos2dx // // Created by WangWei on 15/6/8. // // #ifndef ...