如何返回一个数在数组中的位置

SH211266 2010-09-05 01:31:51
例如一个求最小值的方法

  
private double MinValue(double[] doubleArray)
{
double minVal = doubleArray[0];
for (int i = 1; i < doubleArray.Length; i++)
{
if (doubleArray[i] < minVal)
minVal = doubleArray[i];
}
return minVal;

}


double []myvalue={5,9,2,8,7,3};


请问如何返回最小值 2 所在的位置,即它的下标
...全文
539 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2010-09-05
  • 打赏
  • 举报
回复
double[] myvalue = { 5, 9, 2, 8, 7, 3 };
double d= myvalue.Min();
int iMinIndex = Array.IndexOf(myvalue, d);
wulala789 2010-09-05
  • 打赏
  • 举报
回复
Array.IndexOf
wuyq11 2010-09-05
  • 打赏
  • 举报
回复
var value = from v in array [i] select v;
int s = Array.FindIndex(value.ToArray(), v => v.Equals(value.Max()));
http://topic.csdn.net/u/20090528/20/b37348e6-d2be-429d-a02f-e2bdac23c173.html
wuyq11 2010-09-05
  • 打赏
  • 举报
回复
int[] p = new int[100]; //存放所有的最大值
int position = 0;//存放最大值的位置
int j = 1;//存放相同最大值的位置

for (int i = 1; i < 100; i++)
{
if (intArray [i] > intArray [position])
{
position = i;
j = 1;
}
else if (intArray [i] == intArray [position])
{
p[j++] = i;
}
}
p[0] = position;
if (j < 100)
{
p[j] = -1;
}
Console.WriteLine("最大值为" + intArray [position]);
Console.WriteLine("最大值的位置为:");
for (int i = 0; i < 100; i++)
{
if (p[i] == -1)
break;
Console.WriteLine(p[i]+1);
}
Console.ReadLine();
bloodish 2010-09-05
  • 打赏
  • 举报
回复
Array.Indexof(myvalue,2);

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧