数组2

发布时间 2023-03-28 00:19:45作者: 越狱兔狲

多维数组

  //多维数组与遍历
       int[][] array={{21,32},{533,153},{54,35},{354,20}};

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

           for (int j = 0; j < array[i].length; j++) {

               System.out.print(array[i][j]+" ");
          }
      }

冒泡排序

public class Demo03 {
   public static void main(String[] args) {

       int[] array={56654,654,65,4,65465,4654,465,465,321,501,54};

       int[] ints = maoPao(array);
       System.out.println(Arrays.toString(ints));

  }


   public static int[] maoPao(int[] array){
       //临时变量
       int temp=0;

       for (int i = 0; i < array.length; i++) {
           for (int j = 0; j < array.length-1; j++) {
               if (array[j+1]>array[j]){
                   temp = array[j];
                   array[j]=array[j+1];
                    array[j+1]=temp;
              }
          }

      }
return array;
  }

稀疏数组

 public static void main(String[] args) {
       //定义一个11*11的数组
       int[][] array= new int[11][11];
       array[1][2]=1;
       array[2][3]=2;
       array[9][5]=7;

       for (int i = 0; i < array.length; i++) {
           for (int j = 0; j < array.length; j++) {
               System.out.print(array[i][j]+" ");
          }
           System.out.println();
      }


       //把数组缩写成稀疏数组
       int a=0;
       for (int i = 0; i < array.length; i++) {
           for (int j = 0; j < array.length; j++) {
               if (array[i][j]!=0){
                   a++;
              }
          }
      }
       System.out.println(a);

       int[][] array2=new int[a+1][3];
       array2[0][0]=array.length;
       array2[0][1]=array.length;
       array2[0][2]=a;
       int count=0;
       for (int i = 0; i < array.length; i++) {
           for (int j = 0; j < array[i].length; j++) {
               if (array[i][j]!=0){
                  count++;
                  array2[count][0]=i;
                  array2[count][1]=j;
                  array2[count][2]=array[i][j];
              }
          }
      }
       for (int i = 0; i < array2.length; i++) {
           System.out.println(array2[i][0]+"\t"
           +array2[i][1]+"\t"
           +array2[i][2]+"\t");
      }

       //把稀疏数组拆解成普通数组
       int[][] array3=new int[array2[0][0]][array2[0][1]];
       for (int i = 1; i < array2.length; i++) {
           array3[array2[i][0]][array2[i][1]]=array2[i][2];
      }
       for (int i = 0; i < array3.length; i++) {
           for (int j = 0; j < array3.length; j++) {
               System.out.print(array3[i][j]+" ");
          }
           System.out.println();
      }
  }