本文主要是介绍python实现耐心排序算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前面我们讲解了耐心排序算法,今天我们来看一下代码的实现,直接上代码
#!/usr/bin/python
# -*- coding: utf-8 -*-
#耐心排序
def _patience_sort(the_list):the_list_len = len(the_list)if the_list_len <2:#0和1print "无需排序"return the_listelse:new_list = []#第一部分:数据入桶for key, value in enumerate(the_list):bucket_list = []if key == 0:#第一次肯定放到第一个桶中bucket_list.append(value)new_list.append(bucket_list)else:is_ok = Falsefor a_key, a_value in enumerate(new_list):#遍历新序列的桶if value <= a_value[0]:#如果取得的元素小于等于桶中第一个元素,则这个元素放到这个桶的最上面a_value = [value]+a_valuenew_list[a_key] = a_valueis_ok = True
这篇关于python实现耐心排序算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!