You are not allowed to perform this action

سوال ۳

تابع Becharkhun یک آرایه‌یک بعدی از نوع int، تعداد عناصر ذخیره شده در آرایه هم‌چنین یک اندیس از این آرایه را به‌عنوان ورودی می‌گیرد و عناصر آرایه را حول اندیس داده شده دوران می‌دهد. مثلاً فرض کنید که آرایه‌ی $a=\{1, 4, 5, 3, 6, 7\}$ را داریم اگر تابع را به این صورت صدا بزنیم: Becharkhun(a, 6, 3) آرایه‌ی a به‌صورت زیر تغییر می‌کند:

$$\{3, 6, 7, 1, 4, 5\}$$

حال اگر یک بار دیگر تابع را به این صورت صدا بزنیم ،Becharkhun(a, 5, 1) $a$ به صورت زیر می‌شود:

$$\{4,3, 6, 7, 1, 5\}$$.

شما بایستی این تابع را در $O(n)$ پیاده سازی کنید که $n$ تعداد عناصر آرایه‌ای است که بعنوان ورودی داده شده است. در ضمن شما می‌توانید از حافظه‌ی اضافی از $O(1)$ استفاده کنید. شما نمی‌توانید از متغیّرها یا آرایه‌های Global استفاده کنید.

راهنمایی: تعریف کردن و استفاده از تابع reverse برای وارون کردن ترتیب عناصر یک آرایه ممکن است برایتان سودمند باشد.