冒泡排序:

    //降序
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常用算法的更多相关文章

  1. java 常用算法和一些题目

    选择排序,复杂度O(n²) package com.example.demo; import org.junit.Test; /** * 选择排序 * @author zhzh.yin * */ pu ...

  2. Java常用算法总结

    冒泡排序 从左到右不断交换相邻逆序的元素,在一轮的循环之后,可以让未排序的最大元素上浮到右侧. 在一轮循环中,如果没有发生交换,那么说明数组已经是有序的,此时可以直接退出. 代码如下: public ...

  3. java常用算法笔记

    1.将一个10进制的c转换为n进制 String s=new BigInteger(c+"",10).toString(n); 2. 求一个解退出 System.exit(0): ...

  4. 常用Java排序算法

    常用Java排序算法 冒泡排序 .选择排序.快速排序 package com.javaee.corejava; public class DataSort { public DataSort() { ...

  5. Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法

    Java 常用排序算法/程序员必须掌握的 8大排序算法 本文由网络资料整理转载而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排 ...

  6. 使用Java练习算法常用的基本操作

    一.使用Java练习算法常常需要使用控制台的数据输入和输出,下面记录一下基本的使用方法: 基本用法 import java.util.*; public class Main { public sta ...

  7. Java 常用排序算法/程序员必须掌握的 8大排序算法

    Java 常用排序算法/程序员必须掌握的 8大排序算法 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配 ...

  8. 【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 ...

  9. Java常用排序算法及性能测试集合

    测试报告: Array length: 20000 bubbleSort : 573 ms bubbleSortAdvanced : 596 ms bubbleSortAdvanced2 : 583 ...

随机推荐

  1. webservice配置

    服务端配置:第一步:引用jar包commons-httpclient.jarcommons-logging.jarjdom-10.jarwsdl4j-1.6.1.jarxbean-spring-2.8 ...

  2. BZOJ-1879 Bill的挑战 状态压缩DP

    MD....怎么又是状压....... 1879: [Sdoi2009]Bill的挑战 Time Limit: 4 Sec Memory Limit: 64 MB Submit: 537 Solved ...

  3. crossdomain.xml的配置详解

    目录 1 简介 2 crossdomain.xml的配置详解 3 总结 1 简介 flash在跨域时唯一的限制策略就是crossdomain.xml文件,该文件限制了flash是否可以跨域读写数据以及 ...

  4. Lua函数之二

    Lua函数之二 Lua中函数的两个重要特性: 1.函数和其他类型(如number.string)一样,可以存放在变量中,也可以存放在table中,可以作为函数的参数,还可以作为函数的返回值. 2.嵌套 ...

  5. HttpApplication的处理管道19个事件。

    HttpApplication对象是由Asp.net帮助我们创建的,它是asp.net中处理请求的重要对象.为了便于扩展,HttpApplication采用处理管道的方式进行处理,将处理的步骤分为多个 ...

  6. tcpdump wireshark 实用过滤表达式(针对ip、协议、端口、长度和内容) 实例介绍

    tcpdump wireshark 实用过滤表达式(针对ip.协议.端口.长度和内容) 实例介绍 标签: 网络tcpdst工具windowslinux 2012-05-15 18:12 3777人阅读 ...

  7. HDU4870_Rating_双号从零单排_高斯消元求期望

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4870 原题: Rating Time Limit: 10000/5000 MS (Java/Other ...

  8. .NET中的装饰器设计模式

  9. 老项目的#iPhone6于iPhone6Plus适配#iPhone6分辨率与适配

    技术博客http://www.cnblogs.com/ChenYilong/    本文永久地址为http://www.cnblogs.com/ChenYilong/p/4011744.html ,转 ...

  10. 繁华模拟赛 Vincent的城堡

    #include<iostream> #include<cstdio> #include<string> #include<cstring> #incl ...