با استفاده از Array.BinarySearch در C# یک آرایهٔ مرتب از اعداد صحیح بسازید و برای مقدار ورودی کاربر جستجو کنید و اندیس عنصر یا پیام «یافت نشد» را نمایش دهید.

7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:35

0.0

ابتدا یک آرایهٔ int بسازید یا تولید کنید و با Array.Sort آن را مرتب کنید؛ سپس از Array.BinarySearch برای جستجوی مقدار ورودی استفاده کنید. اگر مقدار برگشتی >= 0 است، آن مقدار نمایانگر اندیسی است که پیدا شده؛ در غیر این صورت مقدار منفی بازگشتی را بررسی کنید (~index) تا نقطهٔ درج پیشنهادی را ببینید. این روش با پیچیدگی زمانی O(log n) سریع‌تر از جستجوی خطی است و در کاربردهایی مثل تحلیل داده، برنامه‌های سیستمی یا محاسبات با کارایی بالا مفید است؛ نکات عملی: از فضای نام System استفاده کنید، ورودی کاربر را به int تبدیل و خطاهای تبدیل را مدیریت کنید و قبل از BinarySearch حتماً آرایه را مرتب نمایید.

توسط پژوهشگر در 201 روز قبل ساعت 03:35
دسته بندی ها: C# C# for beginner
nima در 201 روز قبل ساعت 05:55

برای استفاده از Array.BinarySearch ابتدا آرایه را مرتب کنید (مثلاً با Array.Sort). اگر مقدار ورودی در آرایه وجود داشته باشد، بازگشتی >= 0 است که نشان‌دهندهٔ اندیس یافت شده است؛ اگر نباشد، مقدار منفی بازگشتی نشان‌دهندهٔ محل درج پیشنهادی است (با ~index می‌توانید آن را پیدا کنید). ورودی کاربر را با int.TryParse تبدیل کنید و خطاهای تبدیل را مدیریت کنید تا از استثناء جلوگیری شود. توجه کنید که اگر آرایه شامل مقادیر تکراری باشد، BinarySearch ممکن است یکی از اندیس‌های هم مقدار را برگرداند و تضمین نمی‌کند که نخستین یا آخرین وجود دارد. این جستجو با زمان O(log n) سریع است و قبل از جستجو باید آرایه مرتب باشد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری