zoukankan      html  css  js  c++  java
  • java 选择排序、冒泡排序、折半查找

    public class SortAndSelectDemo{
    	public static void main(String[] args){
    		int[] arr = {3, 5, 17, 2, 11, 13, 19, 7, 23};
    		//bubbleSort(arr);
    		selectSort(arr);
    		printArr(arr);
    		int searchIndex = halfSearch(arr,6);
    		System.out.println(searchIndex);
    	}
    	
    	//选择排序
    	public static void selectSort(int[] arr){
    		for(int i = 0; i < arr.length-1; i++){
    			for(int j = i+1; j < arr.length-1; j++){
    				if(arr[i] > arr[j]){
    					int temp = arr[i];
    					arr[i] = arr[j];
    					arr[j] = temp;
    				}
    			}
    		}
    	}
    	
    	//冒泡排序
    	//外循环:对比n-1次,内循环:n-1次随i递减
    	public static void bubbleSort(int[] arr){
    		for(int i = 0; i < arr.length-1; i++){
    			for(int j = 0; j < arr.length-1-i; j++){
    				if(arr[j] > arr[j+1]){
    					int temp = arr[j];
    					arr[j] = arr[j+1];
    					arr[j+1] = temp;
    				}
    			}
    		}
    	}
    	
    	//折半查找
    	public static int halfSearch(int[] arr, int searchNum){
    		int minIndex = 0;
    		int maxIndex = arr.length;
    		int midIndex = 0;
    		while(minIndex < maxIndex){
    			midIndex = (minIndex + maxIndex)/2;
    			if(arr[midIndex] > searchNum){
    				maxIndex = midIndex-1;
    			}else if(arr[midIndex] < searchNum){
    				minIndex = midIndex + 1;
    			}else{
    				return midIndex;
    			}
    		}
    		return -1;
    	}
    	
    	public static void printArr(int[] arr){
    		System.out.print("[");
    		for(int i = 0;i < arr.length; i++){
    			if(i == arr.length-1){
    				System.out.println(arr[i] + "]");
    			}else{
    				System.out.print(arr[i] + "	");
    			}
    		}
    	}
    }
    

      选择排序:

    冒泡排序:

  • 相关阅读:
    CH6201走廊泼水节
    P3366 (模板)最小生成树
    linux 基础语法
    django 3.1 序列化讲述
    django 的基础设计
    django 的初始项目结构
    http
    mysql(一)
    反射型xss
    html(四)
  • 原文地址:https://www.cnblogs.com/SasaL/p/9983319.html
Copyright © 2011-2022 走看看