[中学]二分插入算法与查找算法[中学]二分插入算法与查找算法
///
/// ?þ?Ö???éÕÒËã????ÉýÐòÅÅÁÐ
///
public void SearchDichotomy()
{
int[] arr;
arr = new int[8] { 2, 4, 6, 9, 12, 35, 67, 89 };
Console.WriteLine("ÇëÊäÈëÒª?éÕÒµÄÊý?º");
int x = Convert.ToInt32(Console.ReadLine());
int front = 0;
int...
[中学]二分插入算法与查找算法
///
/// ?þ?Ö???éÕÒËã????ÉýÐòÅÅÁÐ
///
public void SearchDichotomy()
{
int[] arr;
arr = new int[8] { 2, 4, 6, 9, 12, 35, 67, 89 };
Console.WriteLine("ÇëÊäÈëÒª?éÕÒµÄÊý?º");
int x = Convert.ToInt32(Console.ReadLine());
int front = 0;
int end = 7;
int mid = (front + end) / 2;
while (front < end && arr[mid] != x)
{
if (arr[mid] < x)
front = mid - 1;
if (arr[mid] > x)
end = mid - 1;
mid = (front + end) / 2;
}
if (arr[mid] != x)
Console.WriteLine("Ã?ÓÐËùÒª?éÕÒµÄÊý×Ö??");
if (arr[mid] == x)
Console.WriteLine("ËùÒª?éÕÒµÄÊý×ÖµÄËùÔÚÎ?ÖÃΪ{0}",
mid);
Console.Read();
}
///
/// ?þ?Ö???åÈëËã????ÉýÐòÅÅÁÐ
///
public void InsertDichotomy()
{
ArrayList arr = new ArrayList();
arr.Add(1);
arr.Add(3);
arr.Add(6);
arr.Add(9);
arr.Add(12);
arr.Add(21);
arr.Add(31);
arr.Add(41);
arr.Add(51);
foreach (int a in arr)
{
Console.Write(a + " ");
}
int x = 19;
int left = 0;
int right = arr.Count - 1;
int mid = (left + right) / 2;
while (right >= left)
{
if (Convert.ToInt32(arr[mid]) > x)
right = mid - 1;
else
left = mid + 1;
mid = (left + right) / 2;
}
arr.Insert(mid+1,x);
foreach (int a in arr)
{
Console.Write(a + " ");
}
Console.Read();
本文档为【[中学]二分插入算法与查找算法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。