شما داری توی تابع x رو ++ می کنی پس مقدارش عوض میشه
بعد از insert
این کد رو داری :
for(i=0;i<x;i++)
cout<<key[i]<<" ";
ولی key قبلا با یک x با مقدار کمتر new شده بوده
برای همین داری به عناصر غیر مجازkey دست میزنی که مشکل سازه و برنامت به همین دلیل ارور میده
چند تا نکته :
1_ سعی کن هیچ وقت متغیر global تعریف نکنی .
2_به جای آرایه از vector استفاده کن
3_ بهتر نیست این for رو این جوری بنویسی ؟
for(i=0;i<x;i++)
{
cin>>key[i];
pre[i]=i-1;
if(i==x-1)
next[i]=-1;
else
next[i]=i+1;
}
///
--
for(i=0;i<x;i++)
{
cin>>key[i];
pre[i]=i-1;
next[i]=i+1;
}
next[x-1]=-1;
4_ کامپایلرت به نظر میرسه خیلی قدیمیه . عوضش کن
5- از conio استفاده نکن به جای getch بنویس cin.get()