幾種常見的排序演算法

2021-07-08 20:13:45 字數 836 閱讀 8875

這個星期學習了幾種常見的演算法,整理如下

首先是氣泡排序,就是不停地交換,複雜度n*n,這裡就不上**了

接下來是插入排序,就是從已經排好序的序列中找到合適的位置,複雜度也是n*n,同理不上**。

接下來是希爾排序(shell sort),希爾排序是基於插入排序提出的,算作是插入排序的乙個優化,**如下

void insertsort(int a,int k,int grap,int n)

a[j+grap]=tmp;

}}

void shellsort(int a,int n)

show(a,n);

}}

接下來是快速排序,基本思想就是找乙個數,然後找到該數的合適位置,使得該數的左邊全部小於它,而右邊全部大於它,複雜度n*logn,然後分治**如下

void quicksort(int a,int low,int hight,int n)

}void buildheap(int *a,int n)

}

void heapsort(int *a,int n)

}

未完待續。。。

幾種常見排序演算法

幾種常見排序演算法 1氣泡排序 bubble sort 氣泡排序思路 將序列當中的左右元素,依次比較,保證右邊的元素始終大於左邊的元素 第一輪結束後,序列最後乙個元素一定是當前序列的最大值 對序列當中剩下的n 1個元素再次執行步驟1。3.對於長度為n的序列,一共需要執行n 1輪比較 實現 for i...

幾種常見排序演算法

1氣泡排序 bubble sort 氣泡排序思路 1.將序列當中的左右元素,依次比較,保證右邊的元素始終大於左邊的元素 第一輪結束後,序列最後乙個元素一定是當前序列的最大值 2.對序列當中剩下的n 1個元素再次執行步驟1。3.對於長度為n的序列,一共需要執行n 1輪比較 實現 for i 0 i n...

幾種常見排序演算法

以下內容包括 氣泡排序,選擇排序,桶排序 一 氣泡排序 bubblesort public class bubblesort int temp 0 for int i 0 i1 i system.out.println arrays.tostring arr 用arrays類中的tostring方法...