Java冒泡、选择排序以及二分法
来源:互联网 发布:sql server 2005 64位 编辑:程序博客网 时间:2024/06/10 18:01
package com.cn.core.action;
/**
*
* maopao
* 创建人:jiangminghuang
* 创建时间:2016-9-23日 -上午11:47:23
* @version 1.0.0
*
*/
public class maopao {
public static void main(String[] args) {
// 1.冒泡排序
int[] a={4,1,7,3,8,2};
m(a);
// 3.选择排序
int[] z={4,1,7,3,8,2};
xz(z);
// 3.二分法
int[] b = {1,3,6,8,12,15,19,20,35,60};
int flag=20;
int index = binarySearch(b,flag);
System.out.println("3.二分法");
System.out.println("小标:" + flag + " 数值: " + index);
}
//--------------------1.冒泡排序--------------------------------------
public static void m(int[] a){
for(int i=a.length-1;i>0;i--){
for(int j=0;j<i;j++){
if(a[j]>a[j+1]){
int temp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
System.out.println("1.冒泡排序");
for(int k=0;k<a.length;k++){
System.out.print(" "+a[k]);
}
System.out.println("\n");
}
//--------------------2.选择排序--------------------------------------
public static void xz(int[] a){
System.out.println("2.选择排序");
for(int i=0;i<a.length - 1;i++){
int min = i;
for(int j=i+1;j < a.length; j++){
if(a[min] > a[j]){
min = j;
}
}
// 交换
if(min != i){
int temp;
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
for(int k = 0; k < a.length; k++){
System.out.print(a[k]);
}
}
System.out.println("\n");
}
//--------------------3.二分法--------------------------------------
public static int binarySearch(int[] b,int flag){
int startBegin=0;// 开始下标
int endBegin=b.length-1;// 结束下标
while(startBegin <= endBegin){
int midPos = (startBegin+endBegin) / 2;// 折半
if(flag == b[midPos]){
return endBegin;
}else if(flag > b[midPos]){
startBegin = midPos + 1;
}else if(flag < b[midPos]){
startBegin = midPos - 1;
}
}
return -1;
}
}
- Java冒泡、选择排序以及二分法
- Java 冒泡、选择、二分法排序
- ************** 冒泡、选择排序二分法 **************
- 冒泡排序、选择排序、插入排序以及二分法查找算法
- java选择排序,冒泡排序分析,附带二分法查找
- java排序——选择、插入、冒泡、二分法
- 冒泡排序、直接选择排序、二分法查找
- 学习笔记:二分法排序,选择排序,冒泡排序,以及递归算法.
- C#二分法,选择法,冒泡法排序
- 选择排序以及冒泡排序
- java中选择排序,冒泡排序和二分法查找学习记录
- Java的冒泡排序及二分法排序
- 冒泡排序、选择排序、快速排序、二分法查找
- 黑马程序员--选择排序、冒泡排序、二分法查找
- 冒泡排序、选择和插入排序、二分法查找
- Java的冒泡排序和二分法查找
- 七大排序算法(冒泡,选择,插入,二分法排序,希尔,快速,合并,堆排序)的java实现
- 冒泡以及直接选择排序的JAVA实现
- jquery中empty()和remove()的区别
- Linux crontab命令详解
- js获取子页面全局变量及js变量跨域问题
- js的$(document).Ready()与jquery的OnLoad
- RTSP协议分析
- Java冒泡、选择排序以及二分法
- org.apache.ibatis.builder.BuilderException解决
- react的学习笔记1
- 阿里、腾讯内部10G大神PPT,10分钟从PPT菜鸟到大神百度网盘下载
- startService与bindService混合使用对Service生命周期的影响
- 关于使用kafka的个人总结
- 人生如此的艰难算什么?!!为了活着而活着,这就是传奇!
- 树、森林与二叉树的转换
- [从头学数学] 第272节 [计算几何] 从线段集连通区域