“为了学习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
排序效果如下:
下一期我们将具体详解选择排序
领取专属 10元无门槛券
私享最新 技术干货