Java之数组及常用算法

Java之数组及常用算法

一、一维数组

  1. List item

1、声明:

int a[]; int []b;

2、初始化:

动态初始化:1、a=new int[2]; int[0]=1;...

动态初始化:2、b=new b[]{3,4};

静态初始化:int [] c={5,6};

3、数组常用的方法:

排序:Array.sort();

查找:Array.binarySearch();

打印:Array.toString();

复制:Array.copyof();

4、常用操作

1、冒泡排序

for(int i=0;i<a.length-1;i++){//控制外循环的次数

    for(int j=0;j<a.length-1-i;j++){//控制内循环次数,比外循环少一次,与下一个比较

        if(a[j]>a[j+1]){

            int temp=a[j];

            a[j]=a[j+1];

            a[j+1]=temp;

        }

    }

}

2、选择排序

for (int i = 0; i < a.length-1; i++) {

    int k=i;

    for (int j = i; j < a.length-1; j++) {

        if (a[k]>a[j+1]) {

            k=j+1;

        }

    }

    if(i!=k){

        int temp=a[i];

        a[i]=a[k];

        a[k]=temp;

    }

}

3、顺序查找

public static int find(int []b,int a){

for (int i = 0; i < b.length; i++) {

    if (a==b[i]) {

        return i;

    }

}

return -1;

}

4、二分查找

public static int find(int b[],int a){

int max=b.length-1;

int min=0;

for (int i = 0; i < b.length; i++) {

    int midle=(max+min)/2;

    if(a==b[midle]){

        return midle;

    }else if(a>b[midle]){

       min=midle+1;

    }else if(a<b[midle]){
        max=midle-1;
    }
}
return -1;

}

    public static int find(int b[],int a){

    int max=b.length-1;

    int min=0;

    for (int i = 0; i < b.length; i++) {

        int midle=(max+min)/2;

        if(a==b[midle]){

            return midle;

        }else if(a>b[midle]){

           min=midle+1;

        }else if(a<b[midle]){
            max=midle-1;
        }
    }
return -1;

}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值