24小时热门版块排行榜    

查看: 1053  |  回复: 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的回帖
回帖置顶 ( 共有1个 )

cw277

木虫 (正式写手)

cw277: 回帖置顶 2012-03-20 21:42:59
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;
}
感谢生活让我慢慢学会控制自己的情绪,学会包容与忍耐,学会不再去期待
11楼2012-03-20 21:42:56
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

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

lurencyj

木虫 (著名写手)

【答案】应助回帖


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

楼主的程序风格很难看,不整洁,没有缩进。
很女子很弓虽大
3楼2012-03-20 16:24:40
已阅   关注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的回帖

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;
}
感谢生活让我慢慢学会控制自己的情绪,学会包容与忍耐,学会不再去期待
6楼2012-03-20 21:24:35
已阅   关注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;
}
感谢生活让我慢慢学会控制自己的情绪,学会包容与忍耐,学会不再去期待
7楼2012-03-20 21:28:17
已阅   关注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;
}
感谢生活让我慢慢学会控制自己的情绪,学会包容与忍耐,学会不再去期待
8楼2012-03-20 21:31:18
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

cw277

木虫 (正式写手)

uuv2010: 编辑内容 2012-03-21 15:43
uuv2010: 编辑内容 2012-03-21 15:44
那三句应该是
b=s;

[ Last edited by uuv2010 on 2012-3-21 at 15:44 ]
感谢生活让我慢慢学会控制自己的情绪,学会包容与忍耐,学会不再去期待
9楼2012-03-20 21:32:10
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

cw277

木虫 (正式写手)

我打不出 b [ i ] = s [ i ] ;
感谢生活让我慢慢学会控制自己的情绪,学会包容与忍耐,学会不再去期待
10楼2012-03-20 21:40:30
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 cw277 的主题更新
信息提示
请填处理意见