24小时热门版块排行榜    

查看: 1230  |  回复: 13

cw277

木虫 (正式写手)

[求助] 求程序优化

(主要是怎么实现函数快速地插入操作)
int * insert(int s[], int t3,int t1,int t2)
{
        int *b,i;
    b = (int *) malloc (sizeof(int)*288);
        for(i=0;i<93;i++)
                b [ i ]= s [ i ];
                s[0]=t3;
        for(i=1;i<93;i++)
                s [ i ]=b[i-1];

        for(i=93;i<177;i++)
               b [ i ]= s [ i ];
                s[93]=t1;
        for(i=94;i<177;i++)
                s [ i ]=b[i-1];

        for(i=177;i<288;i++)
                b [ i ]= s [ i ];
                s[177]=t2;
        for(i=178;i<288;i++)
                s [ i ]=b[i-1];
    free(b);
        b=NULL;
        return s;
}
回复此楼
感谢生活让我慢慢学会控制自己的情绪,学会包容与忍耐,学会不再去期待
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

nebulaly

木虫 (著名写手)


jjdg: 金币+1, 感谢参与 2012-03-24 01:52:39
看来看去,无非就是个循环语句
能有多慢?
几个微秒貌似不需要优化吧

要是觉得程序太长
memcpy就是了
7楼2012-03-23 23:08:50
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

nebulaly

木虫 (著名写手)


jjdg: 金币+1, 感谢应助 2012-03-24 01:52:51
说句题外话

return s

这种写法

就是产生一切问题的根源
8楼2012-03-23 23:12:11
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

lurencyj

木虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
cw277: 金币+1, 我主要是想在这些位置插入t1.t2.t3,现在不知道怎么实现效率高一点? 2012-03-21 20:28:32
楼主的程序里面好多magic number啊,比如288,93,94, 177,178。
能说明一下么?
很女子很弓虽大
2楼2012-03-21 17:49:01
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)

【答案】应助回帖

★ ★
cw277: 金币+1, 我想写一个函数,输入形参是数组,但是插入操作过程是链表.. 请问这样可行么? 2012-03-21 22:26:52
余泽成: 金币+1, 谢谢参与应助! 2012-03-23 16:49:55
对于连续存储的数组,你的程序里面是O(N)了,应该是不能再优化了。

要是你经常做插入或者删除操作的话,可以考虑使用连表。
很女子很弓虽大
3楼2012-03-21 21:57:11
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

cw277

木虫 (正式写手)

引用回帖:
3楼: Originally posted by lurencyj at 2012-03-21 21:57:11:
对于连续存储的数组,你的程序里面是O(N)了,应该是不能再优化了。

要是你经常做插入或者删除操作的话,可以考虑使用连表。

而且返回的是一个数组。
感谢生活让我慢慢学会控制自己的情绪,学会包容与忍耐,学会不再去期待
4楼2012-03-21 22:27:36
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

cw277

木虫 (正式写手)

引用回帖:
3楼: Originally posted by lurencyj at 2012-03-21 21:57:11:
对于连续存储的数组,你的程序里面是O(N)了,应该是不能再优化了。

要是你经常做插入或者删除操作的话,可以考虑使用连表。

而且返回的是一个数组
感谢生活让我慢慢学会控制自己的情绪,学会包容与忍耐,学会不再去期待
5楼2012-03-21 22:28:14
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)

【答案】应助回帖

★ ★
jjdg: 金币+1, 感谢参与 2012-03-22 00:35:31
余泽成: 金币+1, 鼓励讨论! 2012-03-23 16:50:07
不太可行,从时间消耗上面来讲。

数组和链表区别在于数据结构。其实对电脑来说,稍微几次288个元素数组搬迁,耗时上面没有多大区别。
很女子很弓虽大
6楼2012-03-21 22:46:06
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

cw277

木虫 (正式写手)

引用回帖:
7楼: Originally posted by nebulaly at 2012-03-23 23:08:50:
看来看去,无非就是个循环语句
能有多慢?
几个微秒貌似不需要优化吧

要是觉得程序太长
memcpy就是了

我跑得是多次循环,这个函数要调用几千万次。   这个要是优化后十分可观!
感谢生活让我慢慢学会控制自己的情绪,学会包容与忍耐,学会不再去期待
9楼2012-03-24 09:58:35
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

cw277

木虫 (正式写手)

引用回帖:
8楼: Originally posted by nebulaly at 2012-03-23 23:12:11:
说句题外话

return s

这种写法

就是产生一切问题的根源

为什么这么说,能说一下原因么? 谢谢
感谢生活让我慢慢学会控制自己的情绪,学会包容与忍耐,学会不再去期待
10楼2012-03-24 09:59:10
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 cw277 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 HFw0lei2R37i 2026-08-14 5/250 2026-08-15 17:42 by 7huP8NPKZCp9
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 HFw0lei2R37i 2026-08-14 6/300 2026-08-15 17:34 by 7huP8NPKZCp9
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +7 Ldrop2023 2026-08-13 7/350 2026-08-15 15:57 by mzhh2000
[论文投稿] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 k0dTPqJtl0jt 2026-08-14 5/250 2026-08-15 15:10 by QXtWNz7PI7wZ
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 k0dTPqJtl0jt 2026-08-14 5/250 2026-08-15 14:58 by QXtWNz7PI7wZ
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 HFw0lei2R37i 2026-08-14 8/400 2026-08-15 14:41 by QXtWNz7PI7wZ
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +7 majunge000 2026-08-11 9/450 2026-08-15 13:34 by kiz2011
[博后之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 k0dTPqJtl0jt 2026-08-14 3/150 2026-08-15 12:41 by KxMI1BYBxWX1
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 k0dTPqJtl0jt 2026-08-14 3/150 2026-08-15 12:33 by KxMI1BYBxWX1
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 k0dTPqJtl0jt 2026-08-14 5/250 2026-08-15 04:45 by 4wMiSEwB6436
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[论文投稿] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 HFw0lei2R37i 2026-08-14 5/250 2026-08-15 00:16 by 4wMiSEwB6436
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 22/1100 2026-08-14 23:45 by Noways
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
信息提示
请填处理意见