排序算法
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范,要得到一个符合实际的优秀算法,得经过大量的推理和分析。
1.选择排序
public static int[] orderBySelect(int[] arrs){
for (int i=0;i< arrs.length;i++){
int temp = arrs[i];
int flag = i;
for (int j=i+1;j<arrs.length;j++){
if (temp > arrs[j]) {
temp = arrs[j];
flag = j;
}
}
if (flag != i){
arrs[flag] = arrs[i];
arrs[i] = temp;
}
}
return arrs;
}
public static void main(String[] args) {
int[] arrs = {2, 10, 3, 65, 13, 14, 546, 548, 31, 12, 6};
orderBySelect(arrs);
System.out.print("选择排序(SelectSort)结果:");
for (int i : arrs) {
System.out.print(i + " ");
}
}
2.冒泡排序
public static int[] bulleSort(int[] arrs){
for (int i=0;i< arrs.length;i++){
for (int j=0;j< arrs.length-i-1;j++){
if (arrs[j] > arrs[j+1]){
int temp = arrs[j];
arrs[j] = arrs[j+1];
arrs[j+1] = temp;
}
}
}
return arrs;
}
public static void main(String[] args){
int[] arrs = {2,10,3,65,13,14,546,548,31,12,6};
bulleSort(arrs);
System.out.print("冒泡排序(BulleSort)结果:"+ Arrays.toString(arrs));
}
3.插入排序
public static int[] orderByInsert(int[] arrs){
for (int i=1;i< arrs.length;i++){
int temp = arrs[i];
int j = i-1;;
if (temp<arrs[j]){
while (j>0 && arrs[j]>temp){
arrs[j+1] = arrs[j];
j--;
}
arrs[j+1] = temp;
}
}
return arrs;
}
public static void main(String[] args) {
int[] arrs = {2, 10, 3, 65, 13, 14, 546, 548, 31, 12, 6};
orderByInsert(arrs);
System.out.print("插入排序(InsertSort)结果:");
for (int i : arrs) {
System.out.print(i + " ");
}
}