IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 今日JAVA——练习题八 -> 正文阅读

[数据结构与算法]今日JAVA——练习题八

JAVA每日随手练【数组的排序与查找】

1.冒泡排序

功能:给定一个整型数组, 实现冒泡排序(升序排序)
代码:

public class test1 {
    public static void main(String[] args) {
        int[] array1 = {8,9,8,7,4,3};
        System.out.println("排序前数组元素有:");
        for(int num:array1){
            System.out.print(num+" ");
        }
        System.out.println("\n数组为:");
        System.out.println(Arrays.toString(array1));
        sort(array1);
        System.out.println("排序后的数组为:");
        System.out.println(Arrays.toString(array1));
    }
    public static void sort(int[] array){
        for(int i=0;i<array.length-1;i++){       //外层循环控制排序趟数
            for(int j=0;j<array.length-1-i;j++){   //内层循环控制每一趟排序多少次
                if(array[j]>array[j+1]){
                    int array2=array[j];
                    array[j]=array[j+1];
                    array[j+1]=array2;
                }
            }
        }
    }
}

运行结果:
在这里插入图片描述

2.数组是否有序

功能:给定一个整型数组, 判定数组是否有序(递增)
代码:

public class test2 {
    public static void main(String[] args) {
        int []arr = {1,2,3,41,5,6};
            System.out.println(induge(arr));
        }    
    public static boolean induge(int[]arr) {
        for(int i=0;i<arr.length-1;i++) {     //arr.length是为了避免越界        
                if (arr[i] > arr[i + 1]) {
                    return false;
                }
            }
        return true;
    }
}

运行结果:
在这里插入图片描述

3.二分查找

功能:给定一个有序整型数组, 实现二分查找

import java.util.Scanner;

public class test3 {
    public static void main(String[] args) {
        int []arr = new int []{1,2,3,4,5,6,7,8};
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        System.out.println(binarySearch(arr,n));
        scan.close();
    }
    public static int binarySearch(int[]arr,int toFind) {
        int left = 0;
        int right = arr.length-1;
        while(left<=right) {
            int mid = (left+right)/2;
            if(toFind<arr[mid]) {
                right=mid-1;    //去区间左侧找
            }else if(toFind>arr[mid]) {
                left=mid+1;     //去区间右侧找
            }else{
                 return mid;//打印要找的数的下标
            }
        }
        return -1;    //循环结束,说明没找到
    }
}

运行结果:
在这里插入图片描述

4.数组的拷贝

要求:实现一个方法 copyOf, 对一个整型数组进行拷贝, 得到一个新的数组

import java.util.Arrays;

public class test4 {
    public static void main(String[] args) {
        int []arr = {1,2,3,4,5,6};
        int []newarr = copyOf(arr);    //将arr放入copyOf方法中进行拷贝,返回一个arr2,再将其给newarr
        System.out.println(Arrays.toString(newarr));
    }
    public static int[] copyOf(int []arr) {
        int[] arr2=new int[arr.length];
        for(int i=0;i<arr.length;i++) {
            arr2[i] = arr[i];
        }
        return arr2;
    }   
}

运行结果:
在这里插入图片描述

5.数组转字符串

要求:实现一个方法 toString, 把一个整型数组转换成字符串. 例如数组 {1, 2, 3} , 返回的字符串为 “[1, 2, 3]”, 注意 逗号 的位置和数量

public class test5 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3};
        String a = toString (arr);
        System.out.println(a);
    }
    public static String toString(int[] arr) {
        String a = "[";
        for (int i = 0; i < arr.length; i++) {
            a += arr[i];
            if(i != arr.length -1) {
                a += ",";
            }
        }
        a += "]";
        return a;
    }
}

运行结果:
在这里插入图片描述

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-09-06 11:24:08  更:2021-09-06 11:25:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:44:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码