一些常用的排序和查詢演算法(折半冒泡快排選擇歸併)

2021-08-30 22:34:43 字數 839 閱讀 2116

折半查詢:

//折半查詢

int binarysearch(int num,int a,int length)

return -1;

}

氣泡排序:

//氣泡排序

int bubblesort(int a,int length)

}

快速排序(有點小問題,忘了跳出迭代了):

//快速排序

void quicksort(int a,int left,int right)

//把小於基準的搞到左邊,大於基準的去右邊

int partition(int a,int low,int high)

}return pos;

}

//選擇排序,演算法思想:每一次從後面n-i個待排序物件中選擇乙個最小的,

//放在第n個位置,話說這演算法時間複雜度真的很高...

void selectsort(int a,int length)

//從後面n-i個待排序物件中選擇乙個最小的,放在第n個位置

void exchange(int a,int i,int length)

}swap(a[i],a[index]);

}

//歸併排序,兩個已經排好順序的陣列,合併成乙個陣列

int* merge(int a,int b,int alength,int blength)

shell排序:先比較距離遠的元素,這樣可以快速減少大量的無需情況,從而減輕後續工作。

一些常用演算法 排序

1.冒泡法 1 比較第乙個數和第二個數,若為逆序a 0 a 1 則交換,以此類推 直到第n 1個數和第n個數比較完為止 第一次氣泡排序,結果最大的數被安置在最後乙個元素位置上。2 對前n 1個數進行第二次氣泡排序,結果使次大的數被安置在n 1的位置上。3 重複上述過程,經過n 1次氣泡排序後,排序結...

一些常用的排序演算法

排序演算法 插入排序 直接插入排序 折半排序 希爾排序 交換排序 氣泡排序 快速排序 選擇排序 簡單選擇排序 堆排序 歸併排序 分配排序 箱排序 基數排序 author kevin public class sorting else break 折半排序,降序 在乙個有序的子檔案中,用折半查詢方法查...

常用的一些排序演算法

整理一下各種排序演算法 1.氣泡排序 時間複雜度o n 2 時間比較長,但是比較容易理解和實現。氣泡排序 public int sortarray int nums return nums 2.快速排序 選定乙個基準值 一般是陣列的第乙個值 一次把比基準小的數字放在左邊,比基準大的數字放在右邊。然後...