0
点赞
收藏
分享

微信扫一扫

排序、查找

慎壹 2022-03-12 阅读 68

冒泡排序

作为排序中的Hello word过多的就不解释了直接思想:

代码展示

    public static void main(String[] args) {
        //冒泡排序
        int[] nums={1,2,6,3,1,6,7,8,3,34,12,56,78,5,2};
        int temp;
        for (int i = 0; i < nums.length-1 ; i++) {
            for (int j = 0; j < nums.length-1-i; j++) {
                if (nums[j]>nums[j+1]){
                    temp=nums[j];
                    nums[j]=nums[j+1];
                    nums[j+1]=temp;
                }
            }
        }
        for (int i = 0; i < nums.length; i++) {
            System.out.println(nums[i]);
        }
    }

二分查找

作为排序中的Hello word过多的就不解释了直接思想

代码展示

  public static void main(String[] args) {
        int[] nums = {1, 3, 4, 5, 6, 7, 8, 14, 25, 36, 47};
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个数字让我来查");
        int tager = scanner.nextInt();
        int left = 0;
        int right = nums.length - 1;
        if (tager < nums[left] || tager > nums[right]) {
            System.out.println("你输入的值不正确");
        } else {
            while (left <= right) {
                int res=-1;
                int mid = (left + right) / 2;
                if (nums[mid] == tager) {
                     res = nums[mid];
                    System.out.println("经过二分查找数组中存在" + res);
                    break;
                } else if (nums[mid] < tager) {
                    left = mid + 1;
                } else if (tager < nums[mid]) {
                    right = mid - 1;
                }
            }
        }
    }
举报

相关推荐

0 条评论