常見排序方法

2021-10-12 06:51:40 字數 1198 閱讀 7459

1.氣泡排序

思想:兩兩比較,把較大的移到後面,多次迴圈後最終把最大的放到最後,接著對前面的數繼續迴圈,直到正序。因為像氣泡一樣,所以稱作氣泡排序。

#include

#define n 100

intmain()

for(i=

0;i)printf

("%d"

,a[i]);

return0;

}

如果覺得用for迴圈太過繁雜,也可以採用定義函式的方式,可以思考一下如何寫**。

下面選擇排序便用定義函式的方式。

2.選擇排序

思想:選擇資料中最大的數與最後乙個數交換位置,多次迴圈後最終達到正序。

#include

intfindmaxpos

(int arr,

int n)

}return pos;

}//找到最大數的位置

void

selectionsort

(int arr,

int n)

}//把最大數換到最後

intmain()

;selectionsort

(arr,5)

;for

(i=0

;i<

5;i++

)printf

("%d\n"

,arr[i]);

}

函式方式好理解,但一定要注意函式定義問題,不要出小錯誤。

3.插入排序

思想:從資料無序處開始比較,按順序把無序數逐個插到正確的位置。如1 2 5 3 4,它會從3開始操作,把3插到2和5之間。

#include

intmain()

a[i+1]

=key;

}for

(i=0

;i)printf

("%d "

,a[i]);

//空格以使資料輸出有間隔

printf

("\n"

); return0;

}

這幾種簡單排序都可以由迴圈和函式實現,看個人喜好選擇一種方式即可,都理解最好。後續會補充不同的方式。希望可以幫助到大家。

常見排序方法

include include using namespace std const int maxsize 100 void myswap int a,int b void bubblesort int a,int len void print int a,int len 氣泡排序 時間複雜度 最壞...

常見排序方法

比較常用的排序方法 公升序 氣泡排序 最常用的排序方法。大體思路就是每次選出乙個最大值,第二次選出次大值,基本上就是兩個for迴圈。雞尾酒排序 氣泡排序方法的變種,雞尾酒排序,待排序陣列首先從0 n 1找出最大值,然後n 2 0找出最小值,然後再從1 n 2找次大值 依次類推 乙個while迴圈,裡...

常見排序方法整理

建立乙個用於運算元組的工具類,其中包含著常見的對陣列的操作函式如 排序,最值等 author jepson version v1.0 public class arraytool 對給定的整數陣列進行直接插入排序 param arr 接收乙個元素型別為int的整數陣列 public static v...