一、排序演算法
1、插入排序
//插入
public
static
void
insertsort
(int
a)a[j+1]
=insertnum;
//找到位置,插入當前元素
}}
2、氣泡排序
//冒泡
//設定迴圈次數。
//設定開始比較的位數,和結束的位數。
//兩兩比較,將最小的放到前面去。
//重複2、3步,直到迴圈次數完畢。
public
static
void
mpsort
(int
a)}}
}
3、選擇排序
//選擇
//首先確定迴圈次數,並且記住當前數字和當前位置。
//將當前位置後面所有的數與當前數字進行對比,小數賦值給key,並記住小數的位置。
//比對完成後,將最小的值與第乙個數的值交換。
public
static
void
selectsort
(int
a)} a[position]
=a[i]
;//進行交換
a[i]
=value;
}}
二、查詢演算法
1、二分查詢
//二分查詢
//對於二分查詢演算法要求, 查詢前的資料必須是已經排好序的,
//得到陣列的開始位置start和結束位置end, 取中間位置mid的資料a[mid]跟待查詢資料key進行比較
public
static
intbinaryserch
(int
a,int key)
else
if(a[mid]
>key)
else
if(a[mid]
}return-1
;}
java中幾種常見的排序演算法
本人只研究過氣泡排序 選擇排序和快速排序,下面是快速排序的 一 冒泡 bubble 排序 氣泡排序 bubblesort 的基本思想是 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。如此重複下去,直至最終完成排序。時間複雜度為 o n n 適用於排序小列表。void bubblesortarr...
java實現常見的幾種排序演算法
public static void selectsort int array if i min public static void bubble int array if flag false public static void insertsort int numbers numbers j...
幾種常見的演算法
1 窮舉法 窮舉法是最基本的演算法設計策略,其思想是列舉出問題所有的可能解,逐一進行判別,找出滿足條件的解.窮舉法的運用關鍵在於解決兩個問題 在運用窮舉法時,容易出現的問題是可能解過多,導致演算法效率很低,這就需要對列舉可能解的方法進行優化.以題1041 純素數問題為例,從1000到9999都可以看...