冒泡、选择、二分查找排序
2017-05-03 15:00
218 查看
package com.etc.Arrays; public class TestBubble { public static void main(String[] args) { // TODO Auto-generated method stub int a=10; int b=3; //借助第三个变量实现值互换的功能 int c=0; c=a; a=b; b=c; System.out.println("a="+a); System.out.println("b="+b); int[] arr=new int[]{5,1,3,2,6,9,10}; //冒泡排序:一对一对的进行比较 for(int i=0;i<arr.length;i++){//需要比较多少轮 for(int j=0;j<arr.length-1-i;j++){//每轮下要比较的次数 if(arr[j]>arr[j+1]){//满足条件,则交换两个数组元素的值 int temp=0; temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } //打印输出数组里每个元素的值 for(int k=0;k<arr.length;k++){ System.out.print(arr[k]+","); } int[] arr2=new int[]{5,1,3,2,6,9,10}; //快速选择排序 :当前元素与其后的所有元素进行比较一次 for(int i=0;i<arr2.length;i++){ for(int j=i+1;j<arr2.length;j++){ if(arr2[i]>arr2[j]){ int temp=0; temp=arr2[i]; arr2[i]=arr2[j]; arr2[j]=temp; } } } System.out.println("\n快速排序后的结果:"); for(int i=0;i<arr2.length;i++){ System.out.print(arr2[i]+","); } System.out.println(); //查询某个元素在数组里是否存在 for(int i=0;i<arr2.length;i++){ if(arr2[i]==6){ System.out.println("i="+i); break; } } //二分查找 int start=0; int end=arr2.length-1; int medium; int medium2=0; int key=7; do{ medium=(start+end)/2; if(arr2[medium]==key){ System.out.println("你要查找的元素的数组下表为"+medium); break; }else if(medium==medium2){ //查询不存在该元素的下表 方式一 System.out.println("该元素不存在"); break; }/* else if(end==(start+1)&&arr2[medium]!=key){//查询不存在该元素的下表 方式二 System.out.println("该元素不存在"); break; }*/else if(arr2[medium]>key){ end=medium; }else if(arr2[medium]<key){ start=medium; } medium2=(start+end)/2; }while(true); } }
相关文章推荐
- 再看冒泡和选择排序以及折半查找(二分查找)
- 各种排序方法(冒泡,快速,插入,选择),二分查找
- Java--冒泡、选择排序,二分查找
- 顺序表的增删改查及冒泡、选择排序、二分查找
- 排序----冒泡,选择,插入,二分查找
- 插入,冒泡,选择,快速排序,二分查找
- 第四篇、C_快速、冒泡、选择、插入排序、二分查找排序、归并、堆排序
- 插入,冒泡,选择,快速排序,二分查找(Java版)
- 插入,冒泡,选择,快速排序,二分查找(Java版)
- 插入,冒泡,选择,快速排序,二分查找(Java版)
- 插入,冒泡,选择,快速排序,二分查找
- java冒泡,选择排序及折半(二分)查找
- 排序算法:冒泡、选择、二分查找
- 经典算法:二分查找、插入排序、选择排序、冒泡排序
- [2014-08-04]JAVA笔记_排序、冒泡、二分查找、质数
- 经典算法:二分查找、插入排序、选择排序、冒泡排序
- Java数组遍历、求最大值、选择排序、冒泡排序、二分查找
- 冒泡排序、选择排序、快速排序、二分法查找
- 经典算法:二分查找、插入排序、选择排序、冒泡排序
- 递归的定义以及递归的示例(计算阶乘、计算斐波那契数、递归二分查找、回文串递归方法解决、汉诺塔问题、递归选择排序问题)