zoukankan      html  css  js  c++  java
  • 冒泡排序_选择排序_二分法

    冒泡排序

     1 package com.java.paixu;
     2 
     3 /**
     4  * 冒泡排序:相邻的两个元素相比较,符合条件交换位置
     5  * @author syousetu
     6  *
     7  */
     8 public class maopao {
     9     public static void main(String[] args) {
    10         int[]arr={5,6,4,1,23,5};
    11         for (int i = 0; i < arr.length-1; i++) {
    12             for (int j = 0; j < arr.length-1-i; j++) {
    13                 
    14                 if(arr[j]>arr[j+1]){
    15                     int temp=arr[j];
    16                     arr[j]=arr[j+1];
    17                     arr[j+1]=temp;
    18                 }
    19                 
    20                 
    21             }
    22         }
    23         
    24         for (int i : arr) {
    25             System.out.println(i);
    26         }
    27         
    28     }
    29 }

    选择排序

     1 package com.java.paixu;
     2 
     3 public class xuanze {
     4     public static void main(String[] args) {
     5         int []arr={5,7,8,5,2,3,6,4};
     6         for (int i = 0; i < arr.length-1; i++) {
     7             for (int j = i; j < arr.length; j++) {
     8                 if(arr[i]<arr[j]){
     9                     int temp =arr[i];
    10                     arr[i]=arr[j];
    11                     arr[j]=temp;
    12                 }
    13             }
    14         }
    15         
    16         for (int i : arr) {
    17             System.out.println(i);
    18         }
    19         
    20     }
    21 }

    折半查找法使用的前提是查找的数据是必须有序的

    思路:

      定义三个变量记录最大,最小、中间的查找范围索引值,每次都是使用中间索引值与目标进行对比,如何不是符合的目标那么就缩小查找的范围

     1 package com.java.paixu;
     2 
     3 public class erfenfa {
     4     public static void main(String[] args) {
     5         int[]arr={1,5,9,45,68,98,156};
     6         int min=0;
     7         int max=arr.length-1;
     8         int middle=(min+max)/2;
     9         int target=156;
    10         while(true){
    11             if(target>arr[middle]){
    12                 min=middle+1;
    13                 middle=(max+min)/2;
    14               18             }else if(target<arr[middle]){
    19                 max=middle-1;
    20                 middle=(max+min)/2;
    21                 25             }else{
    26                 System.out.println(middle);
    27                 break;
    28             }
    29 } 30 31 } 32 }
  • 相关阅读:
    第15次Scrum会议(10/27)【欢迎来怼】
    C语言--第三周作业评分和总结(5班)
    例行报告(20171020-20171025)
    MongoDB主从复制
    副本集
    MongoDB索引
    聚合框架
    MongoDB查询操作
    MongoDB增删改
    MongoDB基本安装
  • 原文地址:https://www.cnblogs.com/syousetu/p/6516945.html
Copyright © 2011-2022 走看看