实现阶梯式数组

代码直接奉上

        JAVA:

        int [][]arr = new int[10][];\\定义一个二维数组(其外围数组长度为10)
        for(int i = 0 ; i<arr.length ; 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<N ; 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能将空间充分利用

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值