各大排序演算法自己總結

2021-07-29 05:14:09 字數 383 閱讀 8503

1.歸併排序

把十個數進行從小到大排序;每一次都把陣列分成兩部分,然後進行排序,然後把兩部分排好序再合併到一起,一次進行下去直到只剩下乙個元素,結束。

時間複雜度為o(n*logn);快速排序也是分治演算法的經典例子。

下面**和注釋自己純手敲的...

#include#includeusing namespace std;

int a[10]=;

int b[10];//額外儲存空間

void merge(int a,int s,int m,int e,int tmp)

{ int pb=0;

int p1=s,p2=m+1;

while(p1<=m&&p2<=e)

{ if(a[p1]

各大排序演算法

後面慢慢完善 includeint h 101 用來存放堆的陣列 int n 用來儲存堆中元素的個數,也就是堆的大小 交換函式,用來交換堆中的兩個元素的值 void swap int x,int y 向下調整函式 傳入乙個需要向下調整的結點編號i,這裡傳入1,即從堆的頂點開始向下調整 void si...

各大排序演算法比較

一 各種演算法比較序號 排序類別 時間複雜度 空間複雜度穩定1 插入排序 o n2 1 2希爾排序 o n2 1 3氣泡排序 o n2 1 4選擇排序 o n2 1 5快速排序 o nlogn o logn 6 堆排序o nlogn 1 7歸併排序 o nlogn o n 1氣泡排序 bubble ...

回顧Java各大排序演算法(持續更新)

馬上大四了,面試前複習下基本的排序演算法,然後寫出來整理下。氣泡排序 param array 待排序的陣列 public static void bubblesort int array 選擇排序 param arr 待排序的陣列 public static void selectionsort i...