java简单算法(二分查找 冒泡排序 判断是否为素数)
2016-04-12 23:35
645 查看
递归实现:
非递归实现:
冒泡排序:
判断一个数是否为素数:
public static int binarySearch(int[] arr, int data, int beginIndex, int endIndex) { int midIndex = (beginIndex + endIndex) / 2; if (data > arr[endIndex] || data < arr[beginIndex] || beginIndex > endIndex) { return -1; } if (data > arr[midIndex]) { return binarySearch(arr, data, midIndex + 1, endIndex); } else if (data < arr[midIndex]) { return binarySearch(arr, data, beginIndex, midIndex - 1); } else { return midIndex; } }
非递归实现:
public static int binarySearch(int[] arr, int data) { int beginIndex = 0; int endIndex = arr.length - 1; int midIndex = -1; if (data > arr[endIndex] || data < arr[beginIndex] || beginIndex > endIndex) { return -1; } while (beginIndex <= endIndex) { midIndex = (beginIndex + endIndex) / 2; if (data > arr[midIndex]) { beginIndex = midIndex + 1; } else if (data < arr[midIndex]) { endIndex = midIndex - 1; } else { return midIndex; } } return -1; }
冒泡排序:
public static void bubbleSort(int[] arr) { int temp = 0; for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } }
判断一个数是否为素数:
public static boolean isPrimeNumber(int num) { for (int i = 2; i <= Math.sqrt(num); i++) { if (num % i == 0) { return false; } } return true; }
相关文章推荐
- java正则表达式解析短信模板
- VisualSVN TortoiseSVN 360云盘同步版 Myeclipse svn 实现远程版本控制
- java:Format
- Java-什么是闭包(closure)
- Spring官网改版后下载
- 分享从google上下载的Eclipse ADT插件(目前我所收集的全部版本)
- 电子钱包的圈存——java card开发第四篇
- Mac OS X 下查看和设置JAVA_HOME
- MySql数据类型和Java数据类型对应一览
- Java示例
- 20145229吴姗珊 《Java程序设计》两天小总结
- Java实现八数码问题
- 牛客网-华为机试在线训练-2.取近似值
- Eclipse使用总结
- 编写程序,将指定目录下所有.java 文件拷贝到另一个目的中,并将扩展名改为.txt。
- Spring中bean的scope
- Maven配置Spring+SpringMVC+MyBatis(3.2.2)Pom
- Java I/O(一) NIO概述
- Intellijidea建javaWeb以及Servlet简单实现
- myeclipse与mysql练习