24小时热门版块排行榜    

查看: 1224  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +6 majunge000 2026-08-11 8/400 2026-08-14 14:44 by 医学老男孩
[硕博家园] 请教兼职经验 +3 是阿文鸭 2026-08-09 3/150 2026-08-14 12:07 by HER12025
[论文投稿] 职称评审,求友友推荐见刊最快的期刊 +5 工厂打螺丝 2026-08-08 5/250 2026-08-14 11:03 by 玖戈弋
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +10 家与远方 2026-08-10 15/750 2026-08-14 02:08 by 绵羊哥哥
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 是这周出结果还是下周出结果? +3 yuleib84 2026-08-11 3/150 2026-08-11 21:53 by jnhyjjm
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 国自然结果 +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
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
信息提示
请填处理意见