24小时热门版块排行榜    

查看: 1285  |  回复: 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文章,我:8O.5.5.1O.54,科目全,可十急 +3 s3fFTmArrBt6 2026-09-13 5/250 2026-09-15 06:38 by 5BDX0d0WFp7t
[硕博家园] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-15 06:02 by 5BDX0d0WFp7t
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 3n8v2C8RimXI 2026-09-13 4/200 2026-09-15 05:50 by 5BDX0d0WFp7t
[考博] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 3n8v2C8RimXI 2026-09-13 3/150 2026-09-15 05:49 by 5BDX0d0WFp7t
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 3n8v2C8RimXI 2026-09-13 6/300 2026-09-15 05:38 by 5BDX0d0WFp7t
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 3n8v2C8RimXI 2026-09-13 3/150 2026-09-15 05:26 by 5BDX0d0WFp7t
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +5 QUjhNVAcOSff 2026-09-13 6/300 2026-09-15 05:13 by 5BDX0d0WFp7t
[公派出国] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +6 QUjhNVAcOSff 2026-09-13 8/400 2026-09-15 05:01 by mibUvS8DDCwf
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 QUjhNVAcOSff 2026-09-13 4/200 2026-09-15 05:00 by mibUvS8DDCwf
[考博] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 s3fFTmArrBt6 2026-09-14 5/250 2026-09-14 23:57 by vZfe6xYu34yj
[博后之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-13 4/200 2026-09-14 23:24 by vZfe6xYu34yj
[教师之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-13 3/150 2026-09-14 23:21 by vZfe6xYu34yj
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-13 5/250 2026-09-14 22:45 by vZfe6xYu34yj
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 LwdutQ8HoqWP 2026-09-13 6/300 2026-09-14 22:37 by vZfe6xYu34yj
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 QUjhNVAcOSff 2026-09-13 5/250 2026-09-14 21:25 by vZfe6xYu34yj
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-14 3/150 2026-09-14 18:01 by Aj1rhIDL5ixY
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-14 4/200 2026-09-14 17:48 by Aj1rhIDL5ixY
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-14 16:13 by Aj1rhIDL5ixY
[基金申请] 求教各位大神:2026教育部人文社科青年基金项目何时公示呀? +5 云宴山人 2026-09-10 7/350 2026-09-14 12:11 by ecnu2013
[考博] 西北工业大学材料学院电化学传感与催化课题组招收2027年推免研究生、博士生、博士后 +3 马方园 2026-09-10 4/200 2026-09-14 09:29 by Chem张zz
信息提示
请填处理意见