24小时热门版块排行榜    

查看: 1057  |  回复: 15
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

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=s;
s[0]=t3;
for(i=1;i<93;i++)
s=b[i-1];

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

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

lurencyj

木虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
cw277: 金币+1, 不好意思内容贴错啦 2012-03-20 21:44:29
跟着2楼继续给意见。

楼主的程序风格很难看,不整洁,没有缩进。
很女子很弓虽大
3楼2012-03-20 16:24:40
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

smart0193

木虫 (小有名气)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
cw277: 金币+1, 不好意思内容贴错啦 2012-03-20 21:44:24
余泽成: 金币+1, 谢谢参与应助! 2012-03-23 16:46:41
1. 不明白你这个程序要干什么,请说明它的功能。
2. 有不少问题。像for(i=0;i<93;i++)
b=s;
这个循环,为什么要将s给b赋值93遍?
s=b[i-1];这是个错误的语句,s是一个指针,b[i-1]是一个整数,两个类型不匹配啊。
一个奋斗在三流高校的教育界民工
2楼2012-03-20 15:59:59
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

emanlee

木虫 (小有名气)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
cw277: 金币+1, 新程序在置顶! 2012-03-20 22:27:05
余泽成: 金币+2, 谢谢参与应助! 2012-03-23 16:47:00
int * insert(int s[], int t3,int t1,int t2) /* 这个程序的功能是不是要挪动数据总的数据,把t1,t2,t3 插入到合适的位置? */
{
        int *b,i;
    b = (int *) malloc (sizeof(int)*288);
        for(i=0;i<93;i++)
                b=s;   /* 这个语句的功能很奇怪,直接写为b=s,就可以了,为什么要循环呢 */
        s[0]=t3;
        for(i=1;i<93;i++)
                s=b[i-1];
       
        for(i=93;i<177;i++)
                b=s;    /* 这个语句的功能很奇怪,直接写为b=s,就可以了,为什么要循环呢 */
        s[93]=t1;
        for(i=94;i<177;i++)
                s=b[i-1];
       
        for(i=177;i<288;i++)
                b=s;   /* 这个语句的功能很奇怪,直接写为b=s,就可以了,为什么要循环呢 */
        s[177]=t2;
        for(i=178;i<288;i++)
                s=b[i-1];
    free(b);
        b=NULL;
        return s;
}
4楼2012-03-20 18:06:51
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

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=s;
                s[0]=t3;
        for(i=1;i<93;i++)
                s=b[i-1];

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

        for(i=177;i<288;i++)
                b=s;
                s[177]=t2;
        for(i=178;i<288;i++)
                s=b[i-1];
    free(b);
        b=NULL;
        return s;
}
感谢生活让我慢慢学会控制自己的情绪,学会包容与忍耐,学会不再去期待
5楼2012-03-20 21:23:42
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见