Код, который я разместил ниже, должен работать в рекурсии (функция Sort ()) даже до 1кк раз.Проблема заключается в следующем: когда функция Sort () попадает в цикл с номером 43385, консоль перестает работать и выдает предупреждение: «Программа перестала работать».Это проблема с памятью?Если да, то где плохая часть кода?Привет.
#include <iostream>
#include <string>
using namespace std;
string a, b;
int n=0,i=0,counter=0;
int Sort(int i)
{
int x=0,y=0,tmp0=0;
char tmp1;
for(x=i;x<n;x++) {
if(a[x]==b[i]){
tmp0=x;
tmp1=a[x];
break;
}
else
continue;
}
for(y=tmp0;y>=i;y--)
y==i ? a[i]=tmp1 : a[y]=a[y-1];
counter+=tmp0-i;
if(i==n-1)
return counter;
else
Sort(i+1);
}
int main()
{
cin >> n >> a >> b;
Sort(0);
return 0;
}