java常用算法
冒泡排序:
//降序
public static int[] bubbleSort(int[] array){
for(int i = 0; i < array.length; i++){
int curval = array[i];
for(int j = i - 1; j >= 0; j--){
int temp = array[j];
if(curval > temp){
array[j] = curval;
array[j+1] = temp;
}
}
}
return array;
}
//升序
public static int[] bubbleSort(int[] array){
for(int i = array.length - 1; i >= 0; i--){
int curval = array[i];
for(int j = i; j < array.length-1; j++){
int tempval = array[j+1];
if(tempval < curval){
array[j+1] = curval;
array[j] = tempval;
}
}
}
return array;
}
二分法查找
//降序
public static int binarySearch (int[] array, int search){
int start = 0;
int end = array.length-1;
int middle = array.length / 2;
for(; start <= end; ){
middle = (start + end) / 2;
int val = array[middle];
if(val == search){
return middle;
}else if(val > search){
start = middle + 1;
}else{
end = middle - 1;
}
} return -1; }
//升序
public static int binarySearch(int[] array, int search){
int start = 0;
int end = array.length - 1;
int middle = (start + end) / 2;
for(;start <= end;){
middle = (start + end) / 2;
int midval = array[middle];
if(midval > search){
end = middle - 1;
}else if(midval < search){
start = middle + 1;
}else{
return middle;
}
}
return -1;
}
调用
public static void main(String[] args){
int[] test = new int[]{1,200,164,29,298,188,34,52,287,100,33};
int[] bubres = bubbleSort(test);
for(int i = 0; i < bubres.length; i++){
System.out.println(i + "*************" + bubres[i]);
} System.out.println("-----*****" + binarySearch(bubres, 1));
}
java常用算法的更多相关文章
- java 常用算法和一些题目
选择排序,复杂度O(n²) package com.example.demo; import org.junit.Test; /** * 选择排序 * @author zhzh.yin * */ pu ...
- Java常用算法总结
冒泡排序 从左到右不断交换相邻逆序的元素,在一轮的循环之后,可以让未排序的最大元素上浮到右侧. 在一轮循环中,如果没有发生交换,那么说明数组已经是有序的,此时可以直接退出. 代码如下: public ...
- java常用算法笔记
1.将一个10进制的c转换为n进制 String s=new BigInteger(c+"",10).toString(n); 2. 求一个解退出 System.exit(0): ...
- 常用Java排序算法
常用Java排序算法 冒泡排序 .选择排序.快速排序 package com.javaee.corejava; public class DataSort { public DataSort() { ...
- Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法
Java 常用排序算法/程序员必须掌握的 8大排序算法 本文由网络资料整理转载而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排 ...
- 使用Java练习算法常用的基本操作
一.使用Java练习算法常常需要使用控制台的数据输入和输出,下面记录一下基本的使用方法: 基本用法 import java.util.*; public class Main { public sta ...
- Java 常用排序算法/程序员必须掌握的 8大排序算法
Java 常用排序算法/程序员必须掌握的 8大排序算法 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配 ...
- 【Java】-NO.13.Algorithm.1.Java Algorithm.1.001-【Java 常用算法手册 】-
1.0.0 Summary Tittle:[Java]-NO.13.Algorithm.1.Java Algorithm.1.001-[Java 常用算法手册 ]- Style:Java Series ...
- Java常用排序算法及性能测试集合
测试报告: Array length: 20000 bubbleSort : 573 ms bubbleSortAdvanced : 596 ms bubbleSortAdvanced2 : 583 ...
随机推荐
- jQuery技术交流资料
jQuery技术交流资料https://www.zybuluo.com/jikeytang/note/65371
- Jquery CDN
新浪CDN <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></ ...
- Notions of Flow Networks and Flows
这篇随笔是对算法导论(Introduction to Algorithms, 3rd. Ed.)第26章 Maximum Flow的摘录. ------------------------------ ...
- C# 抓取网页Html源码 (网络爬虫)
http://www.cnblogs.com/wxxian001/archive/2011/09/07/2169519.html 刚刚完成一个简单的网络爬虫,因为在做的时候在网上像无头苍蝇一样找资料. ...
- ci中如何私有化方法
私有方法 在某些情况下,你可能想要隐藏一些方法使之无法对外查阅.将方法私有化很简单,只要在方法名字前面加一个下划线("_")做前缀就无法通过 URL 访问到了.例如,如果你有一个像 ...
- js获取页面url的方法
我们可以用javascript获得其中的各个部分 1, window.location.href 整个URl字符串(在浏览器中就是完整的地址栏) 本例返回值: http://ifisker.com/b ...
- The file couldn’t be opened because you don’t have permission to view it
because you dont have permission to view it 解决办法 Project---Build Setting中 修改这一项,变成Default Compiler(A ...
- bootstrap 新手学习笔记 代码整理
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- MyBatis 用户表记录数查询
搭建MyBatis开发环境,实现用户表记录数查询 1.在MyEclipse中创建工程,导入MyBatis的jar包
- HttpApplication的处理管道19个事件。
HttpApplication对象是由Asp.net帮助我们创建的,它是asp.net中处理请求的重要对象.为了便于扩展,HttpApplication采用处理管道的方式进行处理,将处理的步骤分为多个 ...