序列遍历问题——环形问题

经常会遇到判断相邻几个数之间的关系,那么怎么找出相邻的几个数呢?

对于序列: {1, 2, 3, 4, 5, 6} 找出相邻3个数构成的组合

  int seq[10] = {1, 2, 3, 4, 5, 6};
    int length = 6;//序列长度
    int num = 3;//遍历区间长度
    if (length >= num)
        for (int i = 0; i < length; i++) {
            int one = i;
            int two = (i + 1) % length;
            int three = (i + 2) % length;
            printf("%d %d %d \n", seq[one], seq[two],seq[three]);
        }

在这里插入图片描述

如果想找出相邻四个数的组合呢?很简单,只需要将遍历区间长度改为4。

  int seq[10] = {1, 2, 3, 4, 5, 6};
    int length = 6;//序列长度
    int num = 4;//遍历区间长度
    if (length >= num)
        for (int i = 0; i < length; i++) {
            int one = i;
            int two = (i + 1) % length;
            int three = (i + 2) % length;
            int four = (i + 3) % length;
            printf("%d %d %d %d\n", seq[one], seq[two] ,seq[three] ,seq[four] );
        }

在这里插入图片描述

发布了100 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_39827677/article/details/104941759