打印
[技术讨论]

帮提供个优化的算法

[复制链接]
2838|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kaavie|  楼主 | 2021-6-29 21:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jackrich| | 2021-6-30 08:19 | 只看该作者
用函数指针查表,比较简洁。

使用特权

评论回复
板凳
LcwSwust| | 2021-6-30 08:24 | 只看该作者
本帖最后由 LcwSwust 于 2021-6-30 08:26 编辑

楼上的方法不错
或写个函数,传递一个参数:
void fun(int id)
{

switch(id){
case 0:fun0();break;
case 1:fun1();break;
......
}
}

然后调用它:
fun(0);
fun(1);

使用特权

评论回复
地板
ayb_ice| | 2021-6-30 08:56 | 只看该作者
本帖最后由 ayb_ice 于 2021-6-30 09:00 编辑

起点从0开始,然后+1循环
0 123
1 230
2 301
3 012

0->1->2->3->0....


        u8 index = 0;
        while (1)
        {
                for (u8 i=0; i<4; i++)
                {
                        u8 k = index + i;
                        if (k >= 4)
                        {
                                k = 0;
                        }
                        call_func(k)
                }
                if (++index >= 4)
                {
                        index = 0;
                }
        }

使用特权

评论回复
5
waaini| | 2021-6-30 09:36 | 只看该作者
循环链表加指针嫌麻烦可以像上面那样直接建一个函数指针图表,用的时候查表

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

124

帖子

0

粉丝