JAVA中利用不规则二维数组输出杨辉三角形

来源:互联网 发布:阿里云吧 编辑:程序博客网 时间:2024/06/05 10:39

1. 不规则二维数组

Java中创建高维数组时,分配内存空间有以下几种方法(此处以二维数组为例):

(1)直接为每一维分配空间

int a[][] = new int [2][3]

a = new int [2][3]

(2)从最高维开始,分别为每一维分配空间

int a[][] = new int [2][];   //指定第一维维数a[0] = new int [3];a[1] = new int [3];

这一点与C/C++不同,C/C++中必须一次指明每一维的长度,但是Java中可以分开指明每一维的维数。

(3)多次分配空间的方法,可以创建不规则的多维数组

int a[][] = new int [4][];   //指定第一维维数a[0] = new int [1];a[1] = new int [2];a[2] = new int [3];a[3] = new int [4];

上述代码创建的二维数组为不规则维数数组,可以形象的表示为(每个表格代表一个元素):

2.利用不规则二维数组输出杨辉三角形

(1)杨辉三角形介绍

参考资料(百度百科):http://www.baike.com/wiki/%E6%9D%A8%E8%BE%89%E4%B8%89%E8%A7%92%E5%BD%A2

(2)JAVA代码实现:

package TEST;public class TEST{public static void main(String args[]){//输出杨辉三角形   10行final int MAX=10;  //最大10行int array[][] = new int [MAX][];  //指定一维个数    使用不规则数组int i,j,k;for(i=0;i<MAX;i++){array[i] = new int[1+i];  //指定第二维个数array[i][0]=1;   //每行首元素=0array[i][i]=1;   //每行尾元素=0}//填充其他元素for(i=2;i<MAX;i++)    //从第2行开始{for(j=1;j<(i+1-1);j++) //从每列第2个元素开始,到每列倒数第2个元素停止{array[i][j] = array[i-1][j-1] +array[i-1][j];}}//输出数组元素   按照格式输出for(i=0;i<MAX;i++){//输出空格for(k=(MAX-1-i);k>0;k--){System.out.print("  ");}//输出元素for(j=0;j<(i+1);j++){System.out.print(array[i][j]+"  ");}System.out.print('\n');   //换行}}}


程序运行结果:

 

0 0