簡單的列表查詢和排序
阿新 • • 發佈:2022-03-20
1、列表查詢
-
順序查詢
也叫線性查詢;
從列表的第一個元素開始,順序進行搜尋,直到找到元素或搜尋到列表的最後一個元素為止
-
二分查詢
又叫折半查詢;
須在有序列表中進行;
計算列表的中間值位置,將待查詢值與中間值進行比較,生成新的候選區,直到候選區縮小到一個元素為止
2、列表排序
-
氣泡排序
列表中每兩個相鄰的元素進行比較,如果相鄰元素的前後順序不滿足排序的順序,把相鄰的兩個元素交換位置;
列表中所有元素比較過一次後,無序區減少一個數,有序區增加一個數;
無序區所有元素繼續進行兩兩比較,直到無序區剩下最後一個數
-
選擇排序
一趟排序找到列表中最小的數,與列表第一個元素交換位置;
再一趟排序找到無序區中最小的數,與列表第二個元素交換位置;
直到無序區剩下最後一個元素
-
插入排序
把列表第一個元素當作初始的有序區,其餘為無序區;
每次拿到無序區的第一個元素,把他插入到有序區中正確的位置;
如果該元素在有序區中最大,位置不變;如果該元素在有序區中最小,有序區所有位置向後移動一位;
-
快速排序
取一個元素P(為了放便取第一個數),將該元素放置於列表中正確的位置(雙指標法);
列表被P分為兩部分,左邊的都比P小,右邊的都比P大;
遞迴完成其餘元素的放置;