软件工程课堂训练——结对开发之环状二维数组

本文详细阐述了如何解决二维数组中最大子数组和的问题,结合环形数组的特点,通过循环和存储策略优化算法实现。讨论了结对开发的优势,包括经验传递和即时反馈,有效提高了开发效率。

一、题目及要求:

      题目:返回一个整数数组中最大子数组的和

      要求(新加):①输入一个二维整形数组,数组里有正数也有负数;②二维数组首尾相接,像一条首尾相接的带子一样。

      结对人员:胡亚宝  焦燕

二、设计思路:

      这个题目其实就是二维数组和环型数组的结合,要解决这个问题,将之前的两个问题融合一下即可。

      首先解决求出二维数组中最大子数组的问题,然后沿用一维数组的方法,将第一列放到最后一列,在求出新的二维数组的最大子数组,依次求出各个二维数组的最大子数组。

三、部分源代码:

 1 for (m=0;m<5;m++)
 2 {
 3     for(cw1=0;cw1<3;cw1++)  //将第一列存起来
 4     {
 5         flag[cw1]=a[cw1][0];
 6     }
 7     for(lie=0;lie<4;lie++)  //从第二列开始每列的值等于它后面的元素
 8     {
 9         for(hang=0;hang<3;hang++)
10         {
11             a[hang][lie]=a[hang][lie+1];
12         }
13     }
14     for(cw2=0;cw2<3;cw2++)  //最后一列的值为刚才存的第一列
15     {
16         a[cw2][4]=flag[cw2];
17     }
18 }

四、心得体会:

       这次的实验我们只完成了一部分,向上次的二维数组求相邻最大值一样,我们在这一部分遇到了困难,所以忽略了这一步。还是部分代码。但是思想和结构还是完整的。

       结对开发优点也有缺点,两个人可以相互学习彼此的优点,这样有利于经验的传递。可以结合两个人的思想和聪明智慧。但是程序不是写给一个人,而是写给两个人。所以代码的结构肯定是两个人都能理解的,并且代码是两个人精华的交集那部分,绝对是去其糟粕,取之精华。还有就是当我在写代码时,有错误胡亚宝会立刻提醒我,节省了一次调试-修改-再调试的时间。

 

转载于:https://www.cnblogs.com/123jy/p/4388673.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值