算法入门

初识算法:
 
冒泡排序
选择排序
插入排序
 
冒泡:列表每两个相邻的数,如果前边比后边的大,那么交换这两个数。
 
 1 a = [8,4,5,9,7,1,3,2,6]
 2 def bubble_sort(li):
 3     for i in range(len(li)-1):             #控制趟数
 4         exchange = False
 5         for j in range(len(li)-i-1):       #循环具体的元素
 6             if li[j] > li[j+1]:                  #前和后比大小,如果大则调换位置
 7                 li[j], li[j+1] = li[j+1], li[j]
 8                 exchange = True          #如果列表顺序发生过更改则改变为True
 9         if not exchange:                   #如果列表所有元素没发生改变过,则直接结束函数。
10             return
11 
12 bubble_sort(a)
13 print(a)

上述代码将a列表按升序做了重新排序。

冒泡关键点在于【趟】和【无序区】。

趟:就是指列表的第一个元素和一边相邻的元素做对比,并交换位置,直到对比并交换所有元素之后抵达列表另一端,这叫做一趟。

无序区:指的是还没有经过对比与交换的元素区域叫做无序区。

 

未完待续

 

 

 

posted @ 2017-11-17 00:04  铠甲巨人  阅读(238)  评论(0编辑  收藏  举报