博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 简单算法
阅读量:7209 次
发布时间:2019-06-29

本文共 1988 字,大约阅读时间需要 6 分钟。

hot3.png

冒泡排序

/** * 冒泡排序 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 * 针对所有的元素重复以上的步骤,除了最后一个。 * 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 * [@param](https://my.oschina.net/u/2303379) numbers 需要排序的整型数组 */ public static void bubbleSort(int[] numbers) { int temp = 0; int size = numbers.length; for(int i = 0 ; i < size-1; i ++) { for(int j = 0 ;j < size-1-i ; j++) { if(numbers[j] > numbers[j+1]) //交换两数位置 { temp = numbers[j]; numbers[j] = numbers[j+1]; numbers[j+1] = temp; } } } }

二分查找``` public class BinarySearch { /** * 二分查找算法 * * @param srcArray 有序数组 * @param key 查找元素 * @return key的数组下标,没找到返回-1 */

public static void main(String[] args) { int srcArray[] = {3,5,11,17,21,23,28,30,32,50,64,78,81,95,101};
System.out.println(binSearch(srcArray, 0, srcArray.length - 1, 81));
}

// 二分查找递归实现       public static int binSearch(int srcArray[], int start, int end, int key) {           int mid = (end - start) / 2 + start;           if (srcArray[mid] == key) {               return mid;           }           if (start >= end) {               return -1;           } else if (key > srcArray[mid]) {               return binSearch(srcArray, mid + 1, end, key);           } else if (key < srcArray[mid]) {               return binSearch(srcArray, start, mid - 1, key);           }           return -1;       }     // 二分查找普通循环实现       public static int binSearch(int srcArray[], int key) {           int mid = srcArray.length / 2;           if (key == srcArray[mid]) {               return mid;           }           int start = 0;           int end = srcArray.length - 1;           while (start <= end) {               mid = (end - start) / 2 + start;               if (key < srcArray[mid]) {                  end = mid - 1;               } else if (key > srcArray[mid]) {                   start = mid + 1;               } else {                   return mid;               }           }           return -1;       } }
 

转载于:https://my.oschina.net/ouyangtaohong/blog/914326

你可能感兴趣的文章
CentOS7 搭建Ambari-Server,安装Hadoop集群(一)
查看>>
Python爬虫基础:验证码的爬取和识别详解
查看>>
WPF 可触摸移动的ScrollViewer控件
查看>>
mysql事务
查看>>
HBase基本操作-java api
查看>>
PostgreSQL的时间/日期函数使用
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 12 章 全文搜索_12.4. 额外特性
查看>>
十字星文化获数千万元A轮融资,腾讯持续下注
查看>>
cron和crontab
查看>>
从阿里云数据库入选Gartner谈数据库的演化
查看>>
【Unity Shader】(六) ------ 复杂的光照(上)
查看>>
Android开发小技巧之商品属性筛选与商品筛选
查看>>
Firefox Test Pilot 计划正式关闭
查看>>
img = img1*mask + img2*(1-mask) How do that ?
查看>>
对话平安科技CTO方国伟:平安云差异化在哪?
查看>>
Greenplum segment级问题的排查 - gp_session_role=utility (含csvlog日志格式解读)
查看>>
在Android NDK下打印log
查看>>
MFC中的CString类使用方法指南
查看>>
Git学习第三课 使用github创建一个新的项目
查看>>
互联网上的时光机器
查看>>