• 冒泡,二分制,模拟摇奖


    1. 实现冒泡排序算法。

    //冒泡排序

     int [] a={1,7,9,3,6,0,2};
     int z;
     for(int i=0;i<a.length;i++)
     {
     for(int j=i;j<a.length;j++)
     {
     if(a[i]>a[j])
     {
     z=a[i];
     a[i]=a[j];
     a[j]=z;
     }
     }
     System.out.print(a[i]);
     }
             

    2.实现二分查找法。

    public int binarySearch(int[] data,int aim){//以int数组为例,aim为需要查找的数
    int start = 0;
    int end = data.length-1;
    int mid = (start+end)/2;//a
    while(data[mid]!=aim&&end>start){//如果data[mid]等于aim则死循环,所以排除
    if(data[mid]>aim){
    end = mid-1;
    }else if(data[mid]<aim){
    start = mid+1;
    }
    mid = (start+end)/2;//b,注意a,b
    }
    return (data[mid]!=aim)?-1:mid;//返回结果
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    //针对已经排序好的数组进行查找(对上面代码进行的改进)
    publicstaticbooleanbinarySearch(int[]array,inttarget){
    intleft=0;
    intright=array.length-1;
    intmid=(left+right)/2;
    while(array[mid]!=target&&right>left){
    if(array[mid]>target){
    right=mid-1;
    }
    elseif(array[mid]<target){
    left=mid+1;
    }
    mid=(left+right)/2;
    //判断在缩小范围后,新的left或者right是否会将target排除
    if(array[right]<target){
    break;//若缩小后right比target小,即target不在数组中
    }
    elseif(array[left]>target){
    break;//若缩小后left比target大,即target不在数组中
    }
    }
    return(array[mid]==target);
    }

    3.采用多种算法,模拟摇奖:从1-36中随机抽出8个不重复的数字

    Random ran=new Random();
     int [] a=new int [8];
     for(int i=0;i<8;i++)
     {
     a[i]=ran.nextInt(35);
     for(int j=0;j<i;j++)
     {if(a[i]==a[j])
     {
     i--;
     break;
     }
     
     }
     System.out.println(a[0]);
     System.out.println(a[1]);
    System.out.println(a[2]);

     System.out.println(a[3]);
     System.out.println(a[4]);
     System.out.println(a[5]);
     System.out.println(a[6]);
     System.out.println(a[7]);
     }

  • 相关阅读:
    CSS揭秘(六用户体验)
    CSS揭秘(五字体排印)
    CSS揭秘(四视觉效果)
    java split() 使用 . 来分割,转义(“” "|" "*" "+")
    springboot get请求405 Method Not Allowed
    websocket前端消息读取问题
    java解决中文乱码问题(jar包运行时中文返回前端数据或者控制台输出乱码问题)
    解决mysql 允许执行 XA RECOVER语句(atomikos 解决分布式事务报错)
    navicat修改mysql密码
    mybatisplus添加字段填充
  • 原文地址:https://www.cnblogs.com/hanruyue/p/5873342.html
Copyright © 2020-2023  润新知