我正在学习如何从头开始创建二进制搜索算法的教程.但是我收到错误"使用未分配的局部变量'Pivot'".我是这门语言的新手,以前只尝试过更简单的语言.
我为缺乏内部文档和使用空白区域而道歉.
错误是在使用"//"标记的代码底部附近
这是程序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Binary_Search_2
{
class Program
{
static void Main(string[] args)
{
int[] arr = new int[10];
Random rnd = new Random();
for (int i = 0; i < arr.Length; i++)
{
arr[i] = rnd.Next(1, 10);
}
Array.Sort(arr);
for (int i = 0; i < arr.Length; i++)
{
Console.Write("{0},", arr[i]);
}
int Start = 0;
int End = arr.Length;
int Center = Start + End / 2;
int Pivot; …Run Code Online (Sandbox Code Playgroud) 我的任务是创建两个单独的程序,一个我已经完成的线性搜索程序,以及一个二进制搜索程序.这些程序还必须计算在搜索过程中进行的比较次数.我的线性搜索程序已经计算了我的二进制搜索程序不能进行的比较次数.二进制搜索的代码如下所示:
using System;
using System.Collections.Generic;
public class Example
{
public static void Main()
{
Console.WriteLine("Input number you would like to search for");
String Look_for = Console.ReadLine();
int Lookfor;
int.TryParse(Look_for, out Lookfor);
{
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
numbers.Add(3);
numbers.Add(4);
numbers.Add(5);
numbers.Add(6);
numbers.Add(7);
numbers.Add(8);
Console.WriteLine();
foreach (int number in numbers)
{
Console.WriteLine(number);
}
int answer = numbers.BinarySearch(Lookfor);
Console.WriteLine("The numbers was found at:");
Console.WriteLine(answer);
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果有人可以告诉我如何修改它来计算比较,将不胜感激.
非常感谢,马修.
我打算为XNA游戏制作一个记分牌但是我在弄清楚如何制作方面遇到了一些麻烦.完成关卡后,玩家会在出现提示时输入他的名字.他的名字和时间将在文本文件中记录,如下所示:
sam 90
james 64
matthew 100
Run Code Online (Sandbox Code Playgroud)
我试图找出一种方法,只按时间对数据进行排序,而不考虑名称.
我还没有开始编码,但如果有人能给我任何想法,我将不胜感激.
我一直在使用XNA进行简单的平台游戏.我在制定一个好的跳跃算法时遇到了一些麻烦.在摆脱了跳跃算法的凌乱半完成版本后,我剩下的就是.
if (keystate.IsKeyDown(Keys.W))
{
spritePosition.Y = spritePosition.Y - 10;
}
Run Code Online (Sandbox Code Playgroud)
我意识到这是一个非常简单的开始,但任何提示都会很棒.我是一名自学成才的程序员,因此我可能会遗漏一些术语,我倾向于将实际代码看作是最好的学习方法.谢谢.