您的位置:首页 > 编程语言 > Java开发

JAVA中的排序算法及代码实现

2013-04-28 21:07 627 查看
JAVA中数组的排序有很多种方法,比如选择排序,冒泡排序,选择排序以及Arrays工具类中的sort方法。数组排序的代码写出来是非常简单的,但是我们需要的是掌握其中的编程思想,后面很多复杂的编程思想都是由简单的演绎过来的。

1.选择排序

private static void selectArray(int[] arr) {
for(int x=0;x<arr.length-1;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
int temp =arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}

}


2.冒泡排序

private static void bubbleSort(int[] arr) {
for(int x=0;x<arr.length-1;x++){
for(int y=0;y<arr.length-1-x;y++){
if(arr[y]>arr[y+1]){
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}

}


3.快速排序

private static void fastSort(int[] arr) {
for(int x=0;x<arr.length-1;x++){
int min=arr[x];
int index=x;
for(int y=x+1;y<arr.length;y++){
if(min>arr[y]){
min =arr[y];
index=y;
}
}
int temp =arr[x];
arr[x]=arr[index];
arr[index]=temp;
}

}


4.二分查找法

private static int binarySearch(int[] arr, int i) {
int start=0;
int end =arr.length-1;
int mid =0;
while(start<=end){
mid=(start+end)/2;
if(i>arr[mid]){
start=mid+1;
}else if(i<arr[mid]){
end=mid-1;
}else{
return mid;
}
}
return -1;
}


5. 数组反转

private static void reverseArray(int[] arr) {
for(int start=0,end=arr.length-1;start<end;start++,end--){
int temp =arr[start];
arr[start]=arr[end];
arr[end]=temp;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: