gpt4 book ai didi

用递归比较2个数组(C语言)

转载 作者:行者123 更新时间:2023-11-30 16:45:11 27 4
gpt4 key购买 nike

我必须扫描大小和2个数组,并将它们与递归进行比较,如果它们相同则返回1,否则返回0。

例如,如果我有: size=5, arr1= 1 2 3 4 5, arr2= 2 1 3 4 5 那么它很好,当我运行大小为 2 的程序时,应该返回 1,并为第一个数组插入“1,2”,为第二个数组插入“3,4”,程序返回0。这很好,但如果输入“1,2”“1,2”,我会收到错误。

 int RecSearch(int* arr1,int* arr2,int n)
{
int i=0,j=0;
for(i=j;j<n;j++)
if(arr1[i]==arr2[j])
{
swap(&arr2[i],&arr2[j]);
RecSearch(arr1-1,arr2-1,n);
}
if (arr1==arr2) return 1;
else return 0;
}

最佳答案

int recursion(int * arr1, int * arr2, int size, int curr)
{
int i = 0;
for (i = 0; i < size; i++)
{
if (arr1[i] == arr2[curr])
{
curr++;

if (curr == size)
return 1;

return recursion(arr1,arr2,size,curr);
}
}

return 0;
}

该函数的初始调用是:

int arr1[5] = {0,1,2,5,4};
int arr2[5] = {2,3,2,0,1};

int result = recursion(arr1, arr2, 5, 0);

关于用递归比较2个数组(C语言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44206700/

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