Python排序(一)

为了学习Python编程,通过Python编写了一些算法小程序,作为自己的学习笔记,同时分享给大家共同学习交流!

现在计算机的广泛使用使得数据无处不在, 而整理数据的第一步通常就是进行排序。所以首先从Python排序算法开始学习。

初级排序算法

我们为了更好的研究排序算法,写了一个排序算法类模版。下面的Sort_class类 展示了一些具体的约定。

我们将排序算法的主要代码放在sort_a()方法中,写具体算法的时候,重构该方法;

less()方法和exchange()方法作为辅组方法也写的该类里,less()方法是用来比较两个元素,exchange()方法是用来交换元素的位置;

show()方法和is_sorted()方法是测试用的,show()方法用来打印排序后序列的内容,is_sorted()方法用来验证序列是否有序

为了区别不同的算法我们将相应的类取不同的名字,如:选择排序Selection.sort_a()、插入排序Insert.sort_a()等。

原代码如下:

classSort_class(object):

def __init__(self,a):

self.a=a

defshow(self):

#在单行中打印序列

print(self.a)

defis_sorted(self):

#测试数组是否有序

foriinrange(1,len(self.a)):

ifExample.less(self.a[i],self.a[i-1]):

return False

return True

defless(self,other):

ifself

return True

else:

return False

defexchange(self,i,j):

temp=self[i]

self[i]=self[j]

self[j]=temp

returnself

defsort_a(self):

#将a按照升序排列

pass

returnself.a

排序效果如下:

下一期我们将具体详解选择排序

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171209G09MW200?refer=cp_1026

扫码关注云+社区