24小时热门版块排行榜    

查看: 1019  |  回复: 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的回帖

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的回帖
查看全部 14 个回答

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的回帖

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的回帖
信息提示
请填处理意见