之前的版本感覺有點難以理解,重新修改下。
(一)插入排序
假如我們打牌時候,將手中的牌從左到右按順序排列(例如:1、2、5、7、8)
這時抽到一張新牌3,從右到左和手上的牌進行比較,然後插入到2的後面(1、2、3、5、7、8),3後面的牌的索引全部+1.
實現**:
1import
numpy as np23
#建立乙個ndarray物件
4 a = np.array([5,2,4,7,6,10,1,3,9])56
#公升序排序版本
7for j in
range(len(a)):
8 key =a[j]
9 i = j - 1
10while i >= 0 and key 11 a[i+1] =a[i]
12 i = i-1
13 a[i+1] =key
1415
(a)16
#降序排序版本
17for j in
range(len(a)):
18 key =a[j]
19 i = j - 1
20while i >= 0 and key >a[i]:
21 a[i+1] =a[i]
22 i = i -1
23 a[i+1] =key
2425
print(a)
(二)線性查詢
1import
numpy as np23
#找到結果,返回索引,否則返回none
4def
search(array,key):
5for j in
range(len(array)):
6if array[j] ==key:
7returnj8
return
none
910 array = np.array([5,2,4,7,6,10,1,3,9])
11 key = 10
1213
print(search(array,key))
演算法 一 插入排序
插入排序演算法類似於玩撲克時抓牌的過程,玩家每拿到一張牌都要插入到手中已有的牌裡,使之從小到大排好序。撲克牌的插入排序 也許你沒有意識到,但其實你的思考過程是這樣的 現在抓到一張7,把它和手裡的牌從右到左依次比較,7比10小,應該再往左插,7比5大,好,就插這裡。為什麼比較了10和5就可以確定7的位...
排序演算法(一) 插入排序
首先,對排序演算法 輸入 n 個數 輸出 序列的乙個排序,使得a1 a2 an 待排序的數為key 插入排序演算法,是乙個對少量元素進行排序的有效演算法.其偽 如圖 插入排序演算法在形式上類似於我們平時打牌時,邊抽牌邊整理撲克牌的順序,我們將新的牌與手中已經整理好順序的撲克牌進行比較,最終將抽到的牌...
排序演算法(一) 插入排序
一 插入排序 直接插入 二分插入 希爾排序 基本思想 從前面已經排序好的資料中查詢合適的位置,將待排序資料插入到該位置 從後面向前找合適的位置 1 直接插入排序 基本思想 從右向左查詢 從左邊已排序好的資料中查詢合適的位置,插入待排序的資料。private static void derictins...