【发布时间】:2021-03-15 11:11:06
【问题描述】:
我的任务是编写一个函数,该函数将获取 2 个数组及其大小:
int contain(int big[], int size_b, int small[], int size_s)
程序应该检查小数组是否是大数组的子数组,如果是则返回小数组中第一个数字的索引号,否则返回-1。
示例: 2 4 61 5 8 5 56 89 3 -2
5 56 89 3 -2
函数应该返回 5。
9 5 12 7 8 -2 4 32 900 13
9 5 12 8 7
函数应该返回 -1。
【问题讨论】:
-
到目前为止你有什么尝试?
-
我是编码新手,所以我从一开始就卡住了,看视频我应该如何解决这个问题
-
首先对参数进行完整性检查,如果 size_b -1。然后做一个从 0 到小于 size_b - size_s 的外循环,和一个从 0 到小于 size_s 的内循环,比较 big[] 和 small[] 的元素,如果不匹配则提前中断。如果你在没有提前中断的情况下一直通过内循环,那么你已经在大数组中找到了小数组,并且可以返回外循环的当前索引。
标签: arrays c size dimensional