找出包含n個元素的數組中的最小值和最大值
但是我們可以使用比較次數更低的方法來找出最小值和最大值
先將一對元素互相進行比較
如果n 為奇數
public void LookMinMaxElement(Int
{
for (int i =
{
if (!(i +
{
if (a[i] < a[i +
{
if (a[i] < min)
{
min = a[i];
}
if (a[i +
{
max = a[i +
}
}
else
{
if (a[i +
{
min = a[i +
}
if (a[i] > max)
{
max = a[i];
}
}
}
}
}
測試代碼如下
[TestMethod()]
public void LookMinMaxElementTest()
{
MinMaxElement target = new MinMaxElement(); // TODO: Initialize to an appropriate value
int[] a = new Int
Int
Int
target
Assert
Assert
a = new Int
min = Int
max = Int
target
Assert
Assert
}
From:http://tw.wingwit.com/Article/program/net/201311/13069.html