冒泡、选择、二分查找排序
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); } }