查找与排序 In Java
来源:互联网 发布:淘宝的地址怎么填 编辑:程序博客网 时间:2024/05/20 04:46
直接记录一段代码
package searchandsort;public class SortingAndSearch<T extends Comparable<T>> {/** * 线性查找 * @param data 数组对象 * @param min 起始索引 * @param max 结束索引 * @param target 查找目标 * @return 是否查找到 */public boolean linearSearch(T[] data, int min, int max, T target) {int index = min;;boolean found = false;while (!found && index <= max) {if (data[index].compareTo(target) == 0) {found = true;break;}index++;}return found;}//二分查找public boolean binarySearch(T[] data, int min, int max, T target) {boolean found = false;int mid = (max + min) / 2; //中间if (data[mid].compareTo(target) == 0) { //找到了found = true;} else if (data[mid].compareTo(target) > 0) {if (min <= mid - 1) {found = binarySearch(data, min, mid-1, target); //左边递归}} else {if (mid + 1 <= max) {found = binarySearch(data, mid+1, max, target); //左边递归}}//1 4 1 1return found;}//选择排序public void selectionSort(T[] data) {int min, len = data.length;T temp;for (int index = 0; index < len - 1; index++) {min = index;for (int scan = index + 1; scan < len; scan++) {if (data[scan].compareTo(data[min]) < 0) {min = scan;}}if (index != min) {temp = data[min];data[min] = data[index];data[index] = temp;}}}static class Contact implements Comparable<Contact> {public String firstName, lastName;public Contact(String firstName, String lastName) {super();this.firstName = firstName;this.lastName = lastName;}@Overridepublic int compareTo(Contact o) {int res; if (lastName.equals(o.lastName)) {res = firstName.compareTo(o.firstName);} else {res = lastName.compareTo(o.lastName);}return res;}@Overridepublic String toString() {return "Contact [firstName=" + firstName + ", lastName=" + lastName+ "]";}}}
0 0
- 查找与排序 In Java
- Java--排序与查找
- Java排序与查找
- java中排序与查找
- Java基础05-数组排序与查找
- java数组排序,查找与置换
- java 排序与二分法查找代码
- 温故而知新-java排序与二分查找
- JAVA 学习模块五:排序与查找
- JAVA冒泡与选择排序,折半查找
- 查找与排序-----java代码分析
- JAVA冒泡与选择排序,折半查找
- java面试常用的排序与查找
- 17、java数组查找与交换排序及快速排序
- 17、java数组查找与交换排序及快速排序
- 数据结构与算法-排序与查找(java描述)
- 查找与排序代码
- 二分法查找与排序
- Unity3D
- Hadoop-08-Hive本地独立式安装
- 看过的觉得比较好的一些emacs使用资料
- android开发环境搭建win7
- HTML5学习之路(二)-地理定位
- 查找与排序 In Java
- python中关于时间time模块的知识
- 一个客户端配置多个Git账户
- Reveal---iOS上的屠龙刀
- codevs1286 郁闷的出纳员
- 快速排序
- linux达人养成计划I
- win7命令行静默安装SQLServer2008R2脚本
- ServletContext