Einführung in die binäre Suche in C# (Code-Einführung)

青灯夜游
Freigeben: 2018-10-22 15:32:56
nach vorne
2652 Leute haben es durchsucht

In diesem Artikel wird ein Einführungsfall (Code) der binären Suche verwendet, um Ihnen vorzustellen, was die binäre Suche in C# ist. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Binäre Suche: geeignet für sortierte Arrays

1. Binäre Suche (Eingabefall)

static void Main(string[] args) {
	int[] myNums = {1,13,22,34,56,143,167,211,266,363,466,572,595,645,688,689,702,779,888,899,922};

	Console.WriteLine("我的数组是:");
	for(int i = 0; i < myNums.Length; i++) {
		Console.Write("{0} ", myNums[i]);
	}
	Console.WriteLine();

	//使用二分法从数组查找指定值
	//取得查找值在数组中的索引位置
	int QueryValueIndex = QueryFromTwoParts(688, myNums, 0, myNums.Length - 1);
	Console.WriteLine("--------------------------------------------------------");
	Console.WriteLine("查找值688在数组中的索引位置是:{0}", QueryValueIndex);
	Console.WriteLine("数组myNums索引位置{0}处的值是:{1}", QueryValueIndex, myNums[QueryValueIndex]);

	Console.ReadKey();
}

//该方法返回的是查找值在数组中的索引位置
private static int QueryFromTwoParts(int QueryValue, int[] nums, int leftIndex, int rightIndex) {
	//计算数组中间值的在数组中的索引位置
	int midValueIndex = (leftIndex + rightIndex + 1) / 2;

	//取得数组中间索引位置处的值
	int midValue = nums[midValueIndex];

	//比较中间值与查找值的大小,确定下一步该怎样继续查询
	if(QueryValue == midValue) {
		return midValueIndex;
	} else if(QueryValue < midValue) {
		return QueryFromTwoParts(QueryValue, nums, leftIndex, midValueIndex);
	} else {
		return QueryFromTwoParts(QueryValue, nums, midValueIndex, rightIndex);
	}

}
Nach dem Login kopieren

2. Code-Laufergebnisse:

Das obige ist der detaillierte Inhalt vonEinführung in die binäre Suche in C# (Code-Einführung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
c#
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!