JAVA 数组算法(复制、查找、插入)

一、复制数组算法

//数组复制算法
public class Test{
    public static void main(String[] args){
        int[]    arrA    =    {100,800,500,600,700};
        int[]    arrB    =    new    int[arrA.length];
        //用for循环把A的对应下标值复制给B
        for(int i=0;i<arrA.length;i++){
            arrB[i]    =    arrA[i];
        }
        //输出arrB
        for(int i=0;i<arrB.length;i++){
            System.out.println(arrB[i]);
        }
    }
}

运行结果:

二、查找数组算法

//数组查找算法
//查找学生是否存在
import java.util.Scanner;    //导入扫描仪
public class Test{
    public static void main(String[] args){
        Scanner in    =    new Scanner(System.in);
        System.out.print("请输入你要查找的学生:");
        String name    =    in.next();
        String[] arr    =    {"王二","张三","李四","王五","六麻子"};    //学生姓名
        int yes    =    arr.length;    //记录一个不可能的下标
        for(int i=0;i<arr.length;i++){
            if(name.equals(arr[i])){
                yes    =    i;
                break;
            }
        }
        if(yes<arr.length){
            System.out.println("学生:"+name+"存在,下标值是"+yes);
        }
        else{
            System.out.println("学生:"+name+"不存在");
        }
    }
}

运行结果:

三、插入数组算法

//数组插入算法
import java.util.Scanner;
public class Test{
    public static void main(String[] args){
        Scanner    in    =    new Scanner(System.in);
        int[] arr    =    {2,43,67,99,199,433};
        System.out.println("请输入你想要插入的值:");
        int num    =    in.nextInt();
        arr[arr.length-1]    =    num;
        for(int i=arr.length-1;i>0;i--){
            if(arr[i]<arr[i-1]){
                int t    =    arr[i];
                arr[i]    =    arr[i-1];
                arr[i-1]    =    t;
            }
            else{
                break;
            }
        }
        //输出
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
    }
}

运行结果:

时间: 2024-11-07 01:38:32

JAVA 数组算法(复制、查找、插入)的相关文章

java 数组的复制

java数组的复制分为数组地址的复制和值的复制 地址的复制: int []arrA={11,22,33,44}; //创建一个数组 int [] arrB=new int[5]; System.out.println("拷贝地址(引用)之前"); System.out.println("arrA="+arrA); System.out.println("arrB="+arrB); //引用的拷贝 arrB=arrA; System.out.pri

java数组回顾---线性查找最大值最小值---二分查找

import java.util.Scanner; public class ArrayDemo { public static void main(String []args) { //------------------------------------------------------- //线性查找 int [] num ={10,20,30,40,50}; Scanner input1 = new Scanner(System.in); System.out.println("请输

Java 数组元素复制的三种方法

一.将数组元素逐个复制到目标数组中 例1 //源数组 int[] source = {10,30,20,40}; //目标数组 int[] target = new int[source.length]; for (int i = 0;i < source.length;i++){ target[i] = source[i]; } 二.使用System类的arraycopy()方法 public static void arraycopy(Object src,int srcPos,Object

Java学习资料-Java常用算法-二分查找算法

binarySearch源程序 public class binarySearch { public static int binarySearch(int[] dataset ,int data) { int beginIndex = 0; //定义起始位置 int endIndex = dataset.length - 1;  //定义结束位置 int midIndex = -1; //定义中点 if(data <dataset[beginIndex]||data>dataset[endI

java数组之binarySearch查找

/** * 1.如果找到目标对象则返回<code>[公式:-插入点-1]</code> * 插入点:第一个大与查找对象的元素在数组中的位置,如果数组中的所有元素都小于要查找的对象,"插入点"就等于a.size() *@date:2018年6月22日 *@author:zhangfs */ public class ArraysBinarySearch { public static void main(String[] args) { int[] a= {9,8

Java数组的复制Arrays.copyOf()和System.arraycopy()函数

public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length); arraycopy是个本地方法,无返回值. public static <T,U> T[] copyOf(U[] original, int newLength, Class<? extends T[]> newType) { T[] copy = ((Object)newType ==

Java小练习 数组的复制,反转及查找(线性,二分)

/* 算法: 数组的复制,反转,查找(线性查找,二分查找) */ import java.util.Scanner; public class arrayCopyReverseSearch { public static void main(String[] args) { String[] arr = new String[]{"AA", "BB", "CC", "DD", "EE", "FF&

Java数据结构 遍历 排序 查找 算法实现

1. 遍历算法(遍历二叉树6种方法) 1.1. 概述 遍历算法针对二叉树而言的,主要有先序.中序.后序三种遍历顺序,三种顺序又分别有递归和常规算法,二叉树遍历的主要思想是:遍历左子树,遍历右子树,访问根节点,由这三者的遍历顺序来确定是先序.中序还是后序.下面只要求掌握递归遍历算法,常规遍历算法见附录一. 1.2. 先序遍历算法 遍历顺序:访问根节点,遍历左子树,遍历右子树.代码如下: void preOrder(BinaryTreeNode bt) { if (bt == null)// 如果当

Java中的二分法查找算法

[ 什么是二分查找 ]  二分查找又称为折半查找,该算法的思想是将数列按序排列,采用跳跃式方法进行查找,即先以有序数列的中点位置为比较对象, 如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分.以此类推不断缩小搜索范围. [ 二分查找的条件 ] 二分查找的先决条件是查找的数列必须是有序的. [ 二分查找的优缺点 ] 优点:比较次数少,查找速度快,平均性能好: 缺点:要求待查数列为有序,且插入删除困难: 适用场景:不经常变动而查找频繁的有序列表. [ 算法步骤描述 ] ①