冒泡排序 选择排序 折半查找
来源:互联网 发布:连接linux服务器工具 编辑:程序博客网 时间:2024/06/08 05:06
package Test;import java.lang.reflect.Array;import java.util.Arrays;import java.util.Scanner;public class Test2 { public static void main(String[] args){ int[] a=new int[]{2,5,1,4,8,6}; print(a); Arrays.sort(a);//java提供的排序函数 print(a); bulltSort(a); print(a); int[] b=new int[]{2,5,1,4,8,6}; selectSort(b); print(b); int index; index=halfSearch(a, 7); System.out.println("index="+index); index=halfSearch(b, 4); System.out.println("index="+index); } /** * 冒泡排序:相邻元素比较,交换,选出最大或最小值 * @param arr */ public static void bulltSort(int []arr){ for(int i=0;i<arr.length-1;i++){ for(int j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1]){ swap(arr,j,j+1); } } } } /** * 选择排序:从第一个元素开始与之后元素挨个比较,选择最大或最小值 * @param arr */ public static void selectSort(int []arr){ for(int i=0;i<arr.length-1;i++){ for(int j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ swap(arr,i,j); } } } } /** * 数组两个元素进行交换 * * @param arr * @param a * @param b */ public static void swap(int []arr,int a,int b){ int temp=arr[a]; arr[a]=arr[b]; arr[b]=temp; } /** * 折半查找 * @param arr * @param key * @return */ public static int halfSearch(int []arr,int key){ int min=0; int max=arr.length; int mid=(max+min)>>1; while(min<max){ if(arr[mid]<key){ min=mid+1; mid=(max+min)>>1; } if(arr[mid]>key){ max=mid-1; mid=(max+min)>>1; } if(arr[mid]==key){ return mid; } } return -1; } /** * 打印数组 * @param arr */ public static void print(int []arr){ for(int i=0;i<arr.length;i++){ if(i!=arr.length-1){ System.out.print(arr[i]+" "); }else{ System.out.println(arr[i]+""); } } }}
0 0
- 选择-冒泡排序,折半查找
- 冒泡排序 & 选择排序 & 折半查找
- 冒泡排序 选择排序 折半查找
- java 折半查找 冒泡排序 选择排序
- 选择,冒泡排序,折半查找,插入
- C 【冒泡 选择排序 & 折半查找】
- JAVA冒泡与选择排序,折半查找
- JAVA冒泡与选择排序,折半查找
- 选择,冒泡,插入排序,折半查找
- 折半查找,冒泡排序
- 冒泡、选择、折半排序
- 黑马程序员 03选择排序,冒泡排序,折半查找
- 冒泡排序,选择排序,折半查找代码小解
- Java基础—选择排序,冒泡排序和折半查找
- C语言---算法(选择排序/冒泡排序/折半查找/进制查表法)
- 单链表的折半查找,冒泡排序,选择排序
- java基础 选择排序、冒泡排序、折半查找法
- 折半查找、简单选择排序和冒泡排序
- redis入门及其环境搭建
- mysql索引类型
- Unsupported major.minor version 51.0 (unable to load class com.powerlong.plas.filter.SortInfoFilter)
- 第六周项目3—IP地址类
- MySQL 入门(十二)—— MySQL内部函数
- 冒泡排序 选择排序 折半查找
- netty入门简介
- velocity map list 数组操作
- 机器学习笔记(一)
- netty实战进阶
- STL中二分查找 lower_bound()
- 操作系统的文件系统基本调用命令
- tango with django ch5 template&static file
- Illegal resource reference: @*android resources are private and not always present 解决方案