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


    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]);
     }

  • 相关阅读:
    *CodeForces 1325E
    CodeForces 1325D
    线性基
    分块
    RabbitMQ学习笔记(四、RabbitMQ队列)
    RabbitMQ学习笔记(三、生产者与消费者)
    RabbitMQ学习笔记(二、RabbitMQ结构)
    RabbitMQ学习笔记(一、消息中间件基础)
    SpringCloud学习笔记(十、SpringCloud Sleuth)
    SpringCloud学习笔记(九、SpringCloud Stream)
  • 原文地址:https://www.cnblogs.com/hanruyue/p/5873342.html
Copyright © 2020-2023  润新知