数据结构基础(严蔚敏)

线性表之数组

public class ArrayOpt {

    public static void main(String[] args) {

        //数组逆序
        int [] a = {1,2,3,4,5,6,7,8,9,10,11};

        int[] f = deleteArray(a,7);

        for (int k:f) {
            System.out.print(k+",");
        }
    }


    //遍历反转
    public static int[] reverseArray(int[] a){
        if(a.length==0){
            System.out.print("This is null Array \n");
            return a;
        }
        int [] b = new int[a.length];

        for(int i =0;i<a.length;i++){
            b[i] = a[(a.length-1)-i];
        }
        return b;
    }

    //二分交换反转
    public static int[] reverseArray1(int[] a){
        if(a.length==0){
            System.out.print("This is null Array \n");
            return a;
        }
        for(int i=0;i<a.length/2;i++){
            int temp  = a[i];
            a[i] = a[(a.length-1)-i];
            a[(a.length-1)-i] = temp;
        }
        return a;
    }


    //数组的增加
    public static int[] insertElement(int[]a,int loc,int e){

        if(loc<=0||loc>a.length){
            System.out.print("index IndexOutOfBoundsException,souf original aar \n");
            return a;
        }

        int []aar = new int[a.length+1];

        //因为下标从0开始,所以loc-1
        System.arraycopy(a, 0, aar, 0, loc - 1);
        aar[loc-1] = e;
        System.arraycopy(a, loc - 1, aar, loc, a.length - (loc - 1));

        return aar;

    }
    //数组的删除
    public static int[] deleteArray(int[] a, int loc){
        if(loc<=0||loc>a.length){
            System.out.printf("index IndexOutOfBoundsException,souf original aar \n");
            return a;
        }
        int [] aar = new int[a.length-1];

        System.arraycopy(a,0,aar,0,loc-1);
        System.arraycopy(a,loc,aar,loc-1,a.length-loc);
        return aar;
    }



    //数组的修改
    public int[] undateArray(int[] a,int loc,int data){
        if(loc<=0||loc>a.length){
            System.out.print("index IndexOutOfBoundsException,souf original aar \n");
            return a;
        }
        a[loc] = data;
        return a;
    }

    //数组的查找
    public boolean searchArray(int[] a,int date){
        for (int j : a) {
            if (j == date)
                return true;
        }
        return false;
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunbofiy23

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值