日记——12.5

直接插入排序,虽然之前学了,但从未实践过,所以今天写题就又忘了

for(i= 1 ;i < n ; i++){//从第二个数开始,当第一个是有序的

k = a[i];

j = i -  1;

while(j >=0 && a[j] > k){
a[j + 1] = a[j];j--;

}

a[j+1] = k;}

应该不会忘了吧;

下午看了下项目里面最简单的推箱子。

不错,的确不是很难,只要用到数组,调用函数,无须栈。

只要不断判断就可以,但需要考虑周全。

晚上刷题卡了不少

 卡好久,

1 .考虑不周全,在n擅长打代码的,m 个擅长数学,n == m 时考虑不清。

2 .用了while循环,时间超限。

3 .将cmx减cmx中最小值,有一个为0,是nm直接输出最小值,是x时考虑不清晰。。

4. 当2*m < n 时输出最小加m,n > m&&n < 2* m,输出最小+m+n/3;以此类推。。又忘了n == m

5终于改对了

说实话,这个拆箱子我觉得我没错,我不懂

 我的错误代码如下

正确代码 

 思路差别不大啊, 就是{

左括号压栈,右括号出栈,输出栈长度;

左括号加一,右括号减一,输出标记数;}

对了,还学到了排序,用sort给结构体排序,今天还用到了,我觉得差不多了

struct qv{

int a;

int b;

}z[100];

如果想把结构体按a的大小排序,则

sort(z,z+m,com);

bool com (qv x,qv y)//x y随意,只传值

{

return x.a>x.b//>为降序,< 为升序

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值