java数组

来源:互联网 发布:小米生态链是什么 知乎 编辑:程序博客网 时间:2024/05/27 16:42

数组是定长的,一旦确定不能改变。

(1) int[] array= new int[]{10,20,30,40,50};  //一维数组

(2)

double[][] array=new double[5][]; //二维数组

      array[0]=new double[1];

      array[1]=new double[2];

      array[2]=new double[3];

      array[3]=new double[4];

      array[4]=new double[5];

java.lang.System;arraycopy用于复制数组  System.arraycopy(array1,0,Array2,0,5);//源,起始位置,目的,位置,长度。

(3)数组排序

  //系统函数排序

 import java.util.Arrays;

public class test{

  public static void main(String[] args){

    int[] array = new int[]{1,6,2,3,9,4,5,7,8};

    Arrays.sort(array);

    for(int num: array)

    System.out.print(" "+num);

    }

 }

 

//冒泡是两两相比

public class test{

 public static void main(String[] args){

    int[] array = new int[]{1,6,2,3,9,4,5,7,8};

    for(int i=0;i<array.length-1;i++)//做元素个数-1趟排序0~array.length-2

    for(int j=0;j<array.length-1-i;j++)

     {

       if(array[j]>array[j+1])   //大的数依次往后跑

         { array[j]=array[j]+array[j+1];   //数值交换不需要引入临时变量

          array[j+1]=array[j]-array[j+1];

          array[j]=array[j]-array[j+1];

         }

     }

    for(int num: array)

    System.out.print(" "+num);

    }

 }

 

//选择排序是一趟选最小

public class test{

 public static void main(String[] args){

    int[] array = new int[]{1,6,2,3,9,4,5,7,8};

    for(int i=0;i<array.length-1;i++)     //进行length-1 趟选择

    { int min=i;                                  //每次把头上的当最小

    for(int j=i+1;j<array.length;j++)

     {

       if(array[min]>array[j])     //*注意是min不是i

         {

           min=j;                       //j下标的元素当前最小

         }

     }                                   //一趟选出最小的一个

      if(min!=i)//最小的不是开始选的那个

      {

        array[i]=array[i]+array[min];

        array[min]=array[i]-array[min];

        array[i]=array[i]-array[min];

      }

     }

   for(int num: array)

    System.out.print(" "+num);

    }

 }

//快速排序

package demo2;
public class quickSort{
static int partition(int a[],int left,int right)
{
    int i=left;
    int j=right;
    int temp=a[i];     //将开头一个做base
    while(i<j)         //i<j就循环执行
    {
        while(i<j && a[j]>=temp) //从后往前扫,符合条件执行j--。                                
            j--;       //往前走
            if(i<j)    //找到了一个比a[i]还小的
                a[i]=a[j];
        while(i<j && a[i]<=temp)//从前往后扫
            i++;
            if(i<j)
                a[j]=a[i];
    }
    a[i]=temp;
    return i;
}
static void quickSort(int a[],int left,int right)
{
    int flag;
    if(left<right)
    {
        flag=partition(a,left,right);
        quickSort(a,left,flag-1);  //使用递归
        quickSort(a,flag+1,right);
    }
}

public static void main(String[] args) {
{
    int a[]=new int[]{5,4,9,1,7,6,2,3,8};
    quickSort(a,0,8);
    for (int i : a) {
  System.out.print(" "+i);
 }
}}
}

 

 

 

 

0 0
原创粉丝点击