zoukankan      html  css  js  c++  java
  • Algs4-1.1.36乱序检查

    1.1.36乱序检查。通过实验检查表1.1.10中乱序代码是否能够产生预期的效果。编写一个程序ShuffleTest,接受命令行参数M和N,将大小为M的数组打乱N次且每次打乱之前都将数组重新初始化为a[i]=i.打印一个MXM的表格,对于所有的列j,行i表示的是i在打乱后落到j的

    位置的次数。数组中的所有元素的值都应该接近于N/M。
    public class ShuffleTest
    {
        public static void main(String[] args)
        {
           int M=Integer.parseInt(args[0]);
           int N=Integer.parseInt(args[1]);
           int[] a=new int[M];
           int[][] Info=new int[M][M];
           //N次打乱
           for(int k=0;k<N;k++)
           {
                //每次打乱前数组重新初始化为a[i]=i
               for(int i=0;i<M;i++)
               a[i]=i;
                //打乱
               shuffle(a);
               //打乱后i行的值落到j列的次数增1
               for(int i=0;i<a.length;i++)
                   Info[a[i]][i]++;
           }
           //打印M*M数组
           printArray(Info);
          
       }

        //打乱数组
        public static void shuffle(int[] a)
        {
            int N=a.length;
            for (int i=0;i<N;i++)
            {
              int r=i+StdRandom.uniform(N-i);
              int temp=a[i];
              a[i]=a[r];
              a[r]=temp;
            }
        }//结束打乱
       

        //打印数组
        private static void printArray(int[][] array)
        {
          int rowLen=array.length;
          int colLen=array[0].length;
          StdOut.printf(" ");
          for (int col=0;col<colLen;col++)
              StdOut.printf("%5d",col);
          StdOut.printf(" ");
          //
          for (int row=0;row<rowLen;row++)
          {
              StdOut.printf("%d",row);
              for (int col=0;col<colLen;col++)
                    StdOut.printf("%5d",array[row][col]);
              StdOut.printf(" ");
          }
        }
    }
    图片

  • 相关阅读:
    mysql 8.x 忘记密码
    sqlite
    公租房查询记录
    idea 常用快捷键总结
    vue h5项目中上传图片时保存之后显示不全
    微信小程序开发中使用npm命令快速添加页面
    【Luogu7816】「Stoi2032」以父之名
    【XSY3657】 因数分解
    Min_25筛学习笔记
    拉格朗日反演学习笔记
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9848742.html
Copyright © 2011-2022 走看看