Java数组中常见的操作

1:求解数组中的最值: 

   

class ArrayTest{

public static void main(String[] args)

{

     int []arr=new int[]{2,3,12,11,10,6};

             print(arr);

             System.out.print("\n数组中的最大值为:"+getMax(arr));

              

             

}

 

//进行打印数组中元素

public static void print(int[] arr)

{

       System.out.println("数组中的元素如下:");

   for(int i=0;i

   System.out.print(arr[i]+",");

           

}

 

//进行输出数组中的最大值

        public static int getMax(int []arr){

           

             

 

            int maxIndex=0;

            for(int i=1;i

                if(arr[i]>arr[maxIndex])

maxIndex=i;

 

            return arr[maxIndex];

}

}

 

 

2对数组中的元素进行排序;

 

 

class ArraySort{

public static void main(String[] args)

{

             int[] arr={1,2,9,3,6,7,12,10};

     System.out.println("排序前:");

     print(arr);

             paixu(arr);

     System.out.println();

     System.out.print("排序后:");

     print(arr);

}

 

//选择排序函数

       public static void selectSort(int[] arr)

{

 

for(int i=0;i

   {

for(int j=i;j

  {

                             if(arr[i]>arr[j])

    {

      int temp=arr[i];

    arr[i]=arr[j];

    arr[j]=temp;

}

  }

   

   }

}

 

 

//冒泡排序函数

        public static void maoPao(int []arr)

{

for(int i=0;i

   {

for(int j=0;j

  {

                             if(arr[j+1]

    {

      int temp=arr[j+1];

    arr[j+1]=arr[j];

    arr[j]=temp;

}

  }

   

   }

 

}

 

//富有高效率的排序方式

        public static void paixu(int []arr)

{

  int index;

  for(int i=0;i

   {

index=i;

for(int j=0;j

  {

                             if(arr[index]

    index=j;

  }

        //如果Index的值与开始相比,变化了,那么进行交换

                        if(index!=i)

                        {

  int temp=arr[arr.length-i-1];

arr[arr.length-i-1]=arr[index];

arr[index]=temp;

}

   }

 

}

 

 

public static void print(int []arr)

{

System.out.print("[");

for(int i=0;i

{

   if(i==arr.length-1)

   {

System.out.print(arr[i]+"]");

break;

 

   }

   System.out.print(arr[i]+",");

 

}

 

}

}

 

 

3:折半查找:

   

 

class ArrayFind{

   public static void main(String []args)

{

   int[] arr={1,2,3,4,8,10,12,15};

           int val=19;

           print(arr);

   int index=halfFind(arr,val);

 

           if(index!=-1)

           {

System.out.print(val+"在数组中存在位置为:"+index);

                return;

   }

             

 

           System.out.print(val+"在数组中不存在!");

}

 

 

  //折半查找函数

  public static int halfFind(int []arr,int val)

{

//进行初始化首尾的值

int end=arr.length-1,begin=0;

 

                while(end>=begin)

   //计算出中间的位置的值

                   int half=(end+begin)/2;

   //如果中间的值比所要查找的值大

                   if(arr[half]>val)

     begin=half+1;

   else if(arr[half]   //如果中间的值比所要查找的值小

     end=half-1;

                   else

   {

return half;      //返回所在值的位置

   }

}

              

                return -1;               //返回-1,代表这个值不存在

}

 

//打印函数

        public static void print(int[] arr)

{

    for(int i=0;i

              System.out.print(arr[i]+",");

 

            System.out.println();

}

 

}

 

3:数组进行作为一个容器进行操作:

  进制转换:

  

 

class JinZhi{

public static void main(String[] args)

{

 

   transForm(100);

}

 

public static void transForm(int val)

        {

             char []arr={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

             char[] save=new char[8];

             int i=0;

             while(val!=0)

     {

                save[i]=arr[val&15];

                val=val>>>4;

                i++;

     }

             System.out.print(val+"16进制数为:0x");

             for(;i>=0;i--)

     {

               System.out.print(save[i]);

             }

          

  }

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值