gpt4 book ai didi

c - 让多项任务更加优化

转载 作者:行者123 更新时间:2023-11-30 20:32:57 25 4
gpt4 key购买 nike

我有一个简单的函数可以记住几个先前的值。有人可以帮助我使这个功能更加紧凑吗?更确切地说,我想以更优化的方式完成所有作业。如果有人帮助我,我将非常感激。

 xy snake_body(int x,int y)
{
xy body;

body.x = x_loop_16;
body.y = y_loop_16;

x_loop_16 = x_loop_15;
y_loop_16 = y_loop_15;

x_loop_15 = x_loop_14;
y_loop_15 = y_loop_14;

x_loop_14 = x_loop_13;
y_loop_14 = y_loop_13;

x_loop_13 = x_loop_12;
y_loop_13 = y_loop_12;

x_loop_12 = x_loop_11;
y_loop_12 = y_loop_11;

x_loop_11 = x_loop_10;
y_loop_11 = y_loop_10;

x_loop_10 = x_loop_9;
y_loop_10 = y_loop_9;

x_loop_9 = x_loop_8;
y_loop_9 = y_loop_8;

x_loop_8 = x_loop_7;
y_loop_8 = y_loop_7;

x_loop_7 = x_loop_6;
y_loop_7 = y_loop_6;

x_loop_6 = x_loop_5;
y_loop_6 = y_loop_5;

x_loop_5 = x_loop_4;
y_loop_5 = y_loop_4;

x_loop_4 = x_loop_3;
y_loop_4 = y_loop_3;

x_loop_3 = x_loop_2;
y_loop_3 = y_loop_2;

x_loop_2 = x_loop_1;
y_loop_2 = y_loop_1;

x_loop_1 = x;
y_loop_1 = y;

return body;

}

“xy”是一个结构变量。我用它来存储来自“x”和“y”的数据,并且还从“snake_body”函数获得多个返回。我希望我说得足够具体,如果有任何问题,我会尽快回复。谢谢。

最佳答案

不使用 2x16 变量,只需使用两个数组并对其进行循环。

你大概想要这个:

int x_loop[16];
int y_loop[16];

xy snake_body(int x, int y)
{
xy body;

body.x = x_loop]15];
body.y = y_loop[15];

for (int i = 15; i > 0; i--)
{
x_loop[i] = x_loop[i - 1];
y_loop[i] = y_loop[i - 1];
}

x_loop[0] = x;
y_loop[0] = y;

return body;
}

但是有更优雅的方法来解决这个问题,特别是使用循环缓冲区。

关于c - 让多项任务更加优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46559673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com