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...