代码直接奉上
JAVA: int [][]arr = new int[10][];\定义一个二维数组(其外围数组长度为10)for(int i = 0 ; i {
arr[i]=new int [i+1];//实现阶梯式数组(第1行有1个元素,第2行有2个元素)
} C语言: #define N = 10 int arr[N][N]={1};
for(int i = 0 ; i
for(int j = 0 ; j<=i ; j++) // j < i 的目的是为了让列数 j 与行数 i 保持一致。(是实现阶梯式数组的关键)
{
arr[i][j] = 1; // 对数组进行赋值
printf("%d ",arr[i][j]);
}
输出结果为
1
1 1
1 1 1
···
*****************************************************
总结: 从这两种实现方法来看,JAVA 的方法更空间复杂度更小,C语言空间复杂度较大。 因为C语言开辟的数组空间为 N*N = 10 * 10 = 100 ,有冗余的空间,而JAVA能将空间充分利用!


