c#二分检索数组元素没显示结果

问题描述

c#二分检索数组元素没显示结果

using System;
using System.Collections.Generic;
using System.Text;

namespace 二分检索
{
class Program
{
static void Main(string[] args)
{
int[] myArray = new int[10] { 13, 15, 23, 25, 45, 46, 57, 58, 78, 79 };//声明并初始化数组,必须为有序数组
int key = 78;//待查找数据
int low = 0, high = 9;
int mid = (low + high) / 2;
while (low <= high)
{
if (myArray[mid] == key)
{
Console.WriteLine("找到key值,其位置在: " + mid);
return;//结束检索
}
else if (myArray[mid] < key)
{
low = mid + 1;
}
else
{
high = mid - 1;
}
}
Console.WriteLine("没有找到key值");
}
}
}

 写了段用二分检索数组元素的代码。为什么调试时什么也不显示?

解决方案

还是出错了,

解决方案二:

程序死循环了,能有显示就见鬼了。

解决方案三:

 using System;

public class Test
{
    public static void Main()
    {
            int[] myArray = new int[10] { 13, 15, 23, 25, 45, 46, 57, 58, 78, 79 };//声明并初始化数组,必须为有序数组
            int key = 78;//待查找数据
            int low = 0, high = 9;
            int mid = (low + high) / 2;
            while (low <= high)
            {
                if (myArray[mid] == key)
                {
                    Console.WriteLine("找到key值,其位置在: " + mid);
                    return;//结束检索
                }
                else if (myArray[mid] < key)
                {
                    low = mid + 1;
                }
                else
                {
                    high = mid - 1;
                }
                mid = (low + high) / 2;
            }
            Console.WriteLine("没有找到key值");

    }
}

解决方案四:

你的mid的值在while循环里一直都没更新哦。。

解决方案五:

你的mid的值在while循环里一直都没更新哦。。

时间: 2024-08-15 15:56:10

c#二分检索数组元素没显示结果的相关文章

PHP数组的定义、初始化和数组元素的显示

从ASP初入门到PHP,感觉到PHP的强大之一就是内置函数的丰富,比如先前学习的PHP日期时间函数,读写文件的相关函数等都无不表明了PHP的更专业.更令用户的使用得心应手. 一开始我对PHP函数的丰富功能很兴奋,随着对越来越多近乎变态多的函数接触之后,突然联想到了ASP内置函数的稀少,要完成某项特殊功能,常须自定义函数,随着应用的在增多,自己居然也有了一套常用的函数库.然而现在在PHP中,这些功能早已被标准化.规范化而浓缩为内置函数直接使用,曾经的ASP开发人员成为了PHP的普通用户. 但转念一

PHP数组的定义、初始化和数组元素的显示实现代码_php基础

从ASP初入门到PHP,感觉到PHP的强大之一就是内置函数的丰富,比如先前学习的PHP日期时间函数,读写文件的相关函数等都无不表明了PHP的更专业.更令用户的使用得心应手. 一开始我对PHP函数的丰富功能很兴奋,随着对越来越多近乎变态多的函数接触之后,突然联想到了ASP内置函数的稀少,要完成某项特殊功能,常须自定义函数,随着应用的在增多,自己居然也有了一套常用的函数库.然而现在在PHP中,这些功能早已被标准化.规范化而浓缩为内置函数直接使用,曾经的ASP开发人员成为了PHP的普通用户. 但转念一

PHP中数组元素升序、降序及重新排序的函数

在PHP数组学习摘录部分了解到最基本的PHP数组的建立和数组元素的显示.需要深入学习下PHP数组的相关操作.首先接触的就是数组元素的升序.降序的排序问题. 1,快速创建数组的函数range() 比如range()函数可以快速创建从1到9的数字数组: <?php $numbers=range(1,9);echo $numbers[1];?> 当然,使用range(9,1)则创建了9到1的数字数组.同时,range()还可以创建从a到z 的字符数组: <?php $numbers=range

c++-使用显示 int 数组的函数显示一个 int 是否合理?

问题描述 使用显示 int 数组的函数显示一个 int 是否合理? void print(const int arr[], int count) { for (size_t i = 0; i != count; ++i) cout << arr[i] << endl; } int main() { int i = 0, j[2] = { 0,1 }; print(&i, 1); print(j, 2); return 0; } <C++ Primer>第五版,中

php 数组操作-删除指定数组元素

按指定元素值去除数组元素  代码如下 复制代码 <?php//去除值为"Cat"的元素 $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); print_r($a); unset($a[array_search("Cat",$a)]); //array_search("Cat&

用jQuery的$()包装函数实现数组元素分页效果

文章简介:jQuery包装函数来实现数组元素分页效果的优势. 用jQuery的$()包装函数来实现数组元素分页效果的优势 最近一周在做中文站搜索礼品widget的需求,这个需求中有一个分页的功能;具体demo可以参见下图: (如上图,宽屏模式,1180下,每页3个offer) 对应的js应用文件是同一个,页面中后面的offer数据已经埋好了,只是启用了css display:none样式把后面的offer元素隐藏了.现在要求对已存在的页面元素实现上下分页效果,也就是页面元素总集可以通过$(.cl

将数组元素按顺序放入链表中并进行插入删除等操作的编程问题

问题描述 将数组元素按顺序放入链表中并进行插入删除等操作的编程问题 编译无错误,但是无法运行,感觉是将数组当做参数那个地方出了问题,但是不知道具体原因,求助CSDN的朋友帮忙解答,万分感谢 解决方案 大体看了一下首先在list的构造函数中 没有对head进行初始化, 应该是 head = new Node; head->next = null;其次在你的create方法中你并没有将数据放入到以head为头的链表中,我猜你应该是忘记对q初始化,q = head; 给你的建议是加断点一步步调试, 这

Knockout获取数组元素索引的2种方法,在MVC中实现

原文:Knockout获取数组元素索引的2种方法,在MVC中实现 在遍历数组.集合的时候,通常要获取元素的索引,本篇体验使用Knockout获取索引的2种方法.   假设有这样的一个模型: namespace UseIndex.Models { public class Student { public int Id { get; set; } public string Name { get; set; } } }   在HomeController中,先模拟一个Student的集合,在投影出

小程序-关于数组元素初始化有一些小问题

问题描述 关于数组元素初始化有一些小问题 RT 最近写的几个小程序中几乎所有的数组元素初始化都有问题,求大神看看是哪里有问题 //求一个4*4二维数组的对角线上的值的和 #include<stdio.h> int main (void) { int array[3][3],sum = 0; int i = 0,j = 0; printf("Please enter the numbers(16 numbers inside):n"); for (i = 0;i <=3