با استفاده از Array.BinarySearch در C# یک آرایهٔ مرتب از اعداد صحیح بسازید و برای مقدار ورودی کاربر جستجو کنید و اندیس عنصر یا پیام «یافت نشد» را نمایش دهید.
7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:35 0.0
ابتدا یک آرایهٔ int بسازید یا تولید کنید و با Array.Sort آن را مرتب کنید؛ سپس از Array.BinarySearch برای جستجوی مقدار ورودی استفاده کنید. اگر مقدار برگشتی >= 0 است، آن مقدار نمایانگر اندیسی است که پیدا شده؛ در غیر این صورت مقدار منفی بازگشتی را بررسی کنید (~index) تا نقطهٔ درج پیشنهادی را ببینید. این روش با پیچیدگی زمانی O(log n) سریعتر از جستجوی خطی است و در کاربردهایی مثل تحلیل داده، برنامههای سیستمی یا محاسبات با کارایی بالا مفید است؛ نکات عملی: از فضای نام System استفاده کنید، ورودی کاربر را به int تبدیل و خطاهای تبدیل را مدیریت کنید و قبل از BinarySearch حتماً آرایه را مرتب نمایید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای استفاده از Array.BinarySearch ابتدا آرایه را مرتب کنید (مثلاً با Array.Sort). اگر مقدار ورودی در آرایه وجود داشته باشد، بازگشتی >= 0 است که نشاندهندهٔ اندیس یافت شده است؛ اگر نباشد، مقدار منفی بازگشتی نشاندهندهٔ محل درج پیشنهادی است (با ~index میتوانید آن را پیدا کنید). ورودی کاربر را با int.TryParse تبدیل کنید و خطاهای تبدیل را مدیریت کنید تا از استثناء جلوگیری شود. توجه کنید که اگر آرایه شامل مقادیر تکراری باشد، BinarySearch ممکن است یکی از اندیسهای هم مقدار را برگرداند و تضمین نمیکند که نخستین یا آخرین وجود دارد. این جستجو با زمان O(log n) سریع است و قبل از جستجو باید آرایه مرتب باشد.
گزارش