三種簡單排序(C語言實現)

2021-06-27 21:19:49 字數 705 閱讀 5904

簡單排序是指執行時間為o(n*n)的排序演算法,將這三種排序整合到一起更有利於對比三者之間的區別,更有助於更深刻地理解各演算法內的思路。

1氣泡排序

這種演算法的思路和實現最簡單粗暴,原因在於該演算法基於一種數學原理,也可以說常識:按照單一增減性連續地交換元素,最終或者最後乙個元素不是最大就是最小。但難點在於迴圈終點的計算,按照我的思維習慣,最初的思維落在內迴圈的結點上。只要確定內外迴圈終點之間的關係該演算法即可實現。以下為c語言實現**:

void bubblesort(int array,int n)

}

2插入排序

該演算法的技巧性更強。不過從效果上看,技巧性也帶來了效能上的提公升,該演算法在二次時間界上應用最為廣泛,並且在少量輸入的情況下,執行速度並不亞於其他高階排序演算法。如果n在10左右,建議使用該演算法。

void insert_sort(int array,unsigned int n)

array[j]=temp;

}}

3 選擇排序

選擇排序的思路是在待排陣列內將最小的元素置於首位,然後在原陣列除了首位元素外看作新的待排陣列,直至到最後的元素即為完成排序。以下為**實現:

void select_sort(int array,int n){

int i,j,m;

int temp;

for(i=0;i

三種簡單排序

1.氣泡排序 氣泡排序是一種簡單的排序演算法,其基本思想如下 1 從第乙個開始起,比較相鄰的兩個元素的大小,如果前乙個比後乙個大,則進行交換 也就是小的冒上去 2 然後再和之前相鄰元素進行比較,若小,則冒上去。2 重複以上操作,直到最後乙個元素。1 public static void bubble...

三種簡單排序演算法

一 氣泡排序 外層迴圈out,從n 1逐漸減小,內層迴圈in,從0逐漸增加到out,進行比較swap。package com.xwiam.algorithms.sort public class bubblesort public void insert long value public int ...

三種簡單排序分析

一 氣泡排序 氣泡排序的原理就是按順序取出數列中相鄰的兩個數,依次比較,互換位置,最終完成排序的目的。時間複雜度 如果序列的初始狀態為 正序 則氣泡排序只需要進行一次排序,在排序的過程中只需要進行n 1次比較,且不移動記錄 反之,如果序列的初始狀態為 逆序 則需要進行n n 1 2次比較和記錄移動。...