Java算法之二分法和排序算法
2015-07-11 16:38
423 查看
import java.io.IOException;
public class Test {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws Exception {
// int arr2[] = pop(arr);
for (int i : arr2) {
System.out.println(“arr2:”+i);
}
int b=0;
int e=5;
int target=3;
// int result = binSearch(arr2,target,b,e);
// System.out.println(“result:”+result);
}
// arr[i]=arr[i]^arr[m];
// arr[m]=arr[i]^arr[m];
// arr[i]=arr[i]^arr[m];
arr[i]=arr[i]+arr[m];
arr[m]=arr[i]-arr[m];
arr[i]=arr[i]-arr[m];
// int t=arr[m];
// arr[m]=arr[i];
// arr[i]= t;
}
}
return arr;
}
}
public class Test {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws Exception {
[code] int []arr={22,3,45,11,23,12}; //先排序 int arr2[] = xz(arr);
// int arr2[] = pop(arr);
for (int i : arr2) {
System.out.println(“arr2:”+i);
}
int b=0;
int e=5;
int target=3;
// int result = binSearch(arr2,target,b,e);
// System.out.println(“result:”+result);
}
[code]/** * 冒泡 * @param arr * @return */ private static int[] pop(int[] arr) { for(int i=0;i<arr.length;i++) { for(int j=1;j<arr.length-i;j++) { if(arr[j-1]>arr[j]) { arr[j]=arr[j]+arr[j-1]; arr[j-1]=arr[j]-arr[j-1]; arr[j]=arr[j]-arr[j-1]; } } } return arr; } /** * 选择排序 * @param arr * @return */ private static int[] xz(int[] arr) { int m=0; for(int i=0;i<arr.length;i++) { m=i; for(int j=i;j<arr.length;j++) { if(arr[m]>arr[j]){m=j;} } if(i!=m){
// arr[i]=arr[i]^arr[m];
// arr[m]=arr[i]^arr[m];
// arr[i]=arr[i]^arr[m];
arr[i]=arr[i]+arr[m];
arr[m]=arr[i]-arr[m];
arr[i]=arr[i]-arr[m];
// int t=arr[m];
// arr[m]=arr[i];
// arr[i]= t;
}
}
return arr;
}
[code]/** * 二分法 * @param arr * @param target * @param b * @param e * @return */ private static int binSearch(int[] arr, int target, int b, int e) { int m= (b+e)/2; if(target==arr[m]){ return m; }else if(target<arr[m]){ return binSearch(arr, target, b, m-1); }else{ return binSearch(arr, target, m+1, e); } }
}
相关文章推荐
- Java tutorial 6
- SpringMVC源码剖析(五)-消息转换器
- 剖析springmvc之HelloWorld
- ThinkingInJava 学习笔记 002
- Bean(描述Java的软件组件模型)
- 设计模式(java)1——单例模式
- 【Java】Java reflection
- SpringMVC视图解析器
- Java-IO流篇
- Java类加载器(一)
- eclipse安装android插件ADK
- Java中的(JDK5新特性)枚举10
- Rfc2898DeriveBytes解密如何通过java实现
- Java多线程基本概念
- Struts2 标签库与OGNL的使用
- JavaBean的相关知识
- java中把一句话或字符串内容反转输出
- java 单例模式
- AES加密时抛出java.security.InvalidKeyException: Illegal key size or def
- java基础之——DecimalFormat格式化数字