常见算法
排序算法
冒泡排序算法
package abc;
import java.util.Arrays;
public class BubbleSort {
public static void main(String[] args) {
int[] a= {3,5,2,6,10,25,11,1};
Arrays.sort(a);
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}
int[] b= {3,5,4,75,15,36,14,78};
for(int i=b.length-1;i>0;i--) {
for(int j=0;j<i;j++) {
if(b[j]>b[j+1])
{int temp;
temp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
}
}
for(int x=0;x<b.length;x++) {
System.out.println(b[x]);
}
}
}
选择排序算法
package abc;
public class SelectSort {
public static void main(String[] args) {
int[] a= {3,1,6,2,5};
for(int i=0;i<a.length-1;i++) {
int min=i;
for(int j=i+1;j<a.length;j++) {
if(a[min]>a[j]) {
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 abc;
import java.util.Arrays;
public class ArrayUtil {
public static void main(String[] args) {
int[] a= {5,6,7,4,1,8,9,10};
Arrays.sort(a);
for(int i=0;i<a.length;i++) {
System.out.print(a[i]+" ");
}
int index=BinarySearch(a,4);
System.out.println(index==-1?"没有该元素":"找出该元素下标"+index);
}
public static int BinarySearch(int[] arr,int dest) {
int begin=0;
int end=arr.length-1;
while(begin<=end) {
int mid=(begin+end)/2;
if(arr[mid]==dest) {
return mid;
}
else if(arr[mid]<dest)
{
begin=mid+1;
}
else {
end=mid-1;
}
}
return -1;
}
}