1. 選擇排序:之所以用乙個數來記錄最小值的位置,在最後來進行資料交換,是因為每一次陣列交換資料都是在heap記憶體中進行的,很消耗記憶體。
原理:第n趟以n-1為不動點,與後面所有資料進行比較,如何發現有乙個資料比n-1個資料小,就記錄它的索引,在n趟比較結束後,再交換資料
public
static
void selectsort(int arr)
for(int i=0;i1;i++)
}if (index!=i)
}
}
2. 氣泡排序:它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。
public
static
void
bubblesort(int arr)}}
}
3. 插入排序:直接插入排序是一種簡單的插入排序法,其基本思想是:把待排序的紀錄按其關鍵碼值的大小逐個插入到乙個已經排好序的有序序列中,直到所有的紀錄插入完為止,得到乙個新的有序序列。
public
static
void
insertsort(int arr)
int temp=0;
for(int i=1;iint j=i-1;
temp=arr[i];
for(;j>=0&&temp//將大於temp的值整體後移乙個單位
arr[j+1]=arr[j];
} arr[j+1]=temp;
} }
4. 快速排序該方法的基本思想是:
1.先從數列中取出乙個數作為基準數。
2.分割槽過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊。
3.再對左右區間重複第二步,直到各區間只有乙個數。
public
static
void
quicksort(int arr, int low, int hight)
arr[i] = x;
quicksort(arr, low, i - 1);
quicksort(arr, i + 1, hight);
}}
5. 二分查詢:
public static void selectsearch(int find,int key)
if (find[mid]>key)
else
}}
常用簡單演算法
氣泡排序,外迴圈控制輪數,內迴圈比較大小 for int i 0 ia j 1 for int x 0 xs new hashset hashset用來去掉重複 for object o array 現在的集合s中無重複的包含array中的所有元素 object obj s.toarray 把集合s...
簡單演算法java實現
簡單選擇排序 直接插入排序 氣泡排序 public void bubblesort int ints 簡單選擇排序 相對於氣泡排序減少了交換次數 public void selectsort int ints 如果最小值預設最小值則交換 if min i 直接插入排序 public void ins...
java常用排序演算法
一 選擇排序 public class numbersort private static void read string args private static void print int arrays system.out.println private static void select...