• 队列加分项


    实验要求

    1 用实现循环队列
    2 参考PPT用循环队列打印杨辉三角
    3 用JDB或IDEA单步跟踪排队情况,画出队列变化图,包含自己的学号信息
    4 把代码推送到代码托管平台
    5 把完成过程写一篇博客:重点是单步跟踪过程和遇到的问题及解决过程
    6 提交博客链接

    实验准备

    • 1、杨辉三角特点
      (1)int数组中元素默认值为 0
      (2)然后每一次打印新的一行的元素的时候:
      新的特定位置的元素 = 该位置原来的元素 + 该位置的前一个位置的值
      (3)参考老师上课给的ppt

    • 2、分别定义行数和列数,每行第一列和最后一列为1

    for (int i = 1; i <= n ; i++) {
                for (int j = 1; j < i+1; j++) {
    
    
    • 3、设置初始值
    arr.enqueue(1);
            arr.enqueue(0);
    
    
    • 4、前一行相邻两元素之和
    int num1 = (int) arr.dequeue();
                    int num2 = (int) arr.first();
                    int num = num1 + num2;
    
    

    实验截图

    代码实现

    public class yhsj {
        public static void main(String[] args) throws Stack.EmptyCollectionException {
            int n = 0;
            CircularArrayQueue arr = new CircularArrayQueue(n + 2);
            System.out.println("how many lines you want:");
            Scanner scan = new Scanner(System.in);
            n = scan.nextInt();
    
            arr.enqueue(1);
            arr.enqueue(0);
            System.out.print(" "+"
    ");
            for (int i = 1; i <= n ; i++) {
                for (int j = 1; j < i+1; j++) {
                    int num1 = (int) arr.dequeue();
                    int num2 = (int) arr.first();
                    int num = num1 + num2;
                    System.out.print(num );
                    arr.enqueue(num);
                }
                arr.enqueue(0);
                System.out.println();
            }
        }
    }
    
    

    实验中遇到的问题

    • 打印出的杨辉三角存在格式问题,数之间没有间距(如下图)

    • 解决方法

    通过添加一个条件判断语句来解决间距问题,如下图

    for(int a = 0; a<j ; a++)
             System.out.print(" ");
    
    

  • 相关阅读:
    Mac 上 Go 语言的安装以及编辑器的配置
    【Go学习】立Flag
    python 使用多线程同时执行多个函数
    python闭包
    mfs环境搭建之元数据服务器(master)节点安装-2
    mfs分布式文件系统介绍-01
    vscode中vim插件对ctrl键的设置
    文本截取{}的内容,生成新数组
    如何过滤a数组中b数组存在的值
    js动态加载js文件
  • 原文地址:https://www.cnblogs.com/guominxiaocao/p/7712655.html
Copyright © 2020-2023  润新知