冒泡法
package com.company.bubbleSort;
public class BubbleSort {
public static void main(String[] args) {
int[] a = {12,5,7,11,8,6,23};
for(int i=a.length-1; i>0; i--){
for(int j=0; j<i; j++){
if(a[j] > a[j+1]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for(int i=0; i<a.length; i++){
System.out.println(a[i]);
}
}
}
选择排序
package com.company.bubbleSort;
public class SelectSort {
public static void main(String[] args) {
int[] a = {12,5,7,11,8,6,23};
for(int i=0; i<a.length-1; i++){
int min = i;
for(int j=i+1; j<a.length; j++){
if(a[j]<a[min]){
min = j;
}
}
if(min != i){
int temp;
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
for(int i=0; i<a.length; i++){
System.out.println(a[i]);
}
}
}
二分查找
package com.company.bubbleSort;
public class DichotomySearch {
public static void main(String[] args) {
int[] a = {1,3,4,5,7,8,9,10,23,25,29};
int destElement = 10;
int index = binarySearch(a, destElement);
System.out.println((index == -1)? "数组内没有该元素":"在数组中元素下标是:"+ index);
}
public static int binarySearch(int[] a, int destElement){
int begin =0;
int end = a.length-1;
while(begin <= end){
int mid = (begin + end)/2;
if(a[mid] == destElement){
return mid;
}else if(a[mid]>destElement){
end = mid-1;
}else if(a[mid]<destElement){
begin = mid + 1;
}
}
return -1;
}
}
Arrays工具类
package com.company.array;
import java.util.Arrays;
public class ArraysTest {
public static void main(String[] args) {
int[] a = {3,1,6,2,5};
Arrays.sort(a);
for(int i=0; i<a.length; i++){
System.out.println(a[i]);
}
int index = Arrays.binarySearch(a, 3);
System.out.println(index);
}
}