常用算法:
1. 冒泡排序:
public class BubbleSort {
public static void main(String[] args) {
int[]a={3,2,7,6,8,11,1};
int temp ;
for (int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-i-1;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
System.out.println(Arrays.toString(a));
}
}
2. 直接选择排序
public class SelectSort {
public static void main(String[] args) {
int[]a={111,2,3,112,42,1};
for (int i=0;i<a.length-1;i++){
int min=a[i];
for (int j=i+1;j<a.length;j++){
int temp;
if(a[i]>a[j]){
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
}
System.out.println(Arrays.toString(a));
}
}
3. 二分查找:
public class ArrayUtil {
public static void main(String[] args) {
int []a={100,200,222,333,444,555,666,774,800};
int index=binarySearch(a,774);
System.out.println(index==-1?"该元素不存在":"该元素下标是"+index);
}
public static int binarySearch(int[] a, int dest) {
int begin=0;
int end=a.length-1;
while (begin<=end){
int mid=(begin+end)/2;
if(a[mid]==dest){
return mid;
}
else if(a[mid]<dest){
begin=mid+1;
}else {
end=mid-1;
}
}
return -1;
}
}