1. 程式人生 > 其它 >簡單的列表查詢和排序

簡單的列表查詢和排序

1、列表查詢

  • 順序查詢

    也叫線性查詢;

    從列表的第一個元素開始,順序進行搜尋,直到找到元素或搜尋到列表的最後一個元素為止

  • 二分查詢

    又叫折半查詢;

    須在有序列表中進行;

    計算列表的中間值位置,將待查詢值與中間值進行比較,生成新的候選區,直到候選區縮小到一個元素為止

2、列表排序

  • 氣泡排序

    列表中每兩個相鄰的元素進行比較,如果相鄰元素的前後順序不滿足排序的順序,把相鄰的兩個元素交換位置;

    列表中所有元素比較過一次後,無序區減少一個數,有序區增加一個數;

    無序區所有元素繼續進行兩兩比較,直到無序區剩下最後一個數

  • 選擇排序

    一趟排序找到列表中最小的數,與列表第一個元素交換位置;

    再一趟排序找到無序區中最小的數,與列表第二個元素交換位置;

    直到無序區剩下最後一個元素

  • 插入排序

    把列表第一個元素當作初始的有序區,其餘為無序區;

    每次拿到無序區的第一個元素,把他插入到有序區中正確的位置;

    如果該元素在有序區中最大,位置不變;如果該元素在有序區中最小,有序區所有位置向後移動一位;

  • 快速排序

    取一個元素P(為了放便取第一個數),將該元素放置於列表中正確的位置(雙指標法);

    列表被P分為兩部分,左邊的都比P小,右邊的都比P大;

    遞迴完成其餘元素的放置;