排序算法
Posted cn-chy-com
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法相关的知识,希望对你有一定的参考价值。
/**
* 冒泡排序
* @param arr
*/
public static void bubbleSort(int [] arr){
for(int i= 0;i < arr.length -1;i++){
for (int j=0;j < arr.length-1-i;j++){
if(arr[j] > arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
/**
* 二分查找
* @param arr
* @param x
* @return
*/
public static int find(int [] arr,int x){
int min = 0;
int max = arr.length - 1;
int mid = (min + max)/2;
while(arr[mid] != x){
if(arr[mid] > x){
max = mid -1;
}
if(arr[mid] <x){
min = mid + 1;
}
mid = (min + max)/2;
if(min > max){
return -1;
}
}
return mid;
}
/**
* 快速排序
* @param arr
* @param low
* @param high
*/
public static void quickSort(int [] arr,int low,int high){
int i,j,index;
if(low >= high){
return;
}
i = low;
j = high;
index = arr[i];
while (i < j){
while(i < j && arr[j] >= index){
j--;
}
if(i < j){
arr[i++] = arr[j];
}
while (i < j && arr[i] <= index){
i++;
}
if(i < j){
arr[j--] = arr[i];
}
arr[i] = index;
quickSort(arr,low,i-1);
quickSort(arr,i+1,high);
}
}
以上是关于排序算法的主要内容,如果未能解决你的问题,请参考以下文章