C#求数组中的最大值和最小值
同时找出数组中的最大值和最小值!求高效算法!普通for遍历整个数组比较max再赋值覆盖的别来。解出再送100!!!:时间空间复杂度为2*S以下的就行***********...
同时找出数组中的最大值和最小值!
求高效算法!
普通for遍历整个数组比较max再赋值覆盖的别来。
解出再送100!!!
:
时间空间复杂度为2*S以下的就行
*******************************
catm3 - 千总 五级
笑。你不会就代表别人不会?自己菜不会就乖乖到边上,别丢人可好? 展开
求高效算法!
普通for遍历整个数组比较max再赋值覆盖的别来。
解出再送100!!!
:
时间空间复杂度为2*S以下的就行
*******************************
catm3 - 千总 五级
笑。你不会就代表别人不会?自己菜不会就乖乖到边上,别丢人可好? 展开
18个回答
展开全部
public void BubbleSort(int[] R)
{
int i,j,temp;
//交换标志
bool exchange;
//最多做R.Length-1趟排序
for(i=0; i<R.Length; i++)
{
//本趟排序开始前,交换标志应为假
exchange=false;
for(j=R.Length-2; j>=i; j--)
{
//交换条件
if(R[j+1]<R[j])
{
temp=R[j+1];
R[j+1]=R[j];
R[j]=temp;
//发生了交换,故将交换标志置为真
exchange=true;
}
}
//本趟排序未发生交换,提前终止算法
if(!exchange)
{
break;
}
}
}
{
int i,j,temp;
//交换标志
bool exchange;
//最多做R.Length-1趟排序
for(i=0; i<R.Length; i++)
{
//本趟排序开始前,交换标志应为假
exchange=false;
for(j=R.Length-2; j>=i; j--)
{
//交换条件
if(R[j+1]<R[j])
{
temp=R[j+1];
R[j+1]=R[j];
R[j]=temp;
//发生了交换,故将交换标志置为真
exchange=true;
}
}
//本趟排序未发生交换,提前终止算法
if(!exchange)
{
break;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
思想:先排序,得到有序数列,直接打印出最大值与最小值。
using System;
using System.Collections.Generic;
using System.Text;
namespace Test
{
class Program
{
static void Main(string[] args)
{
int[] arr = new int[5] { 80,2,3,4,5};
Sort(arr);
Console.WriteLine("Min:{0}", arr[0]);
Console.WriteLine("Max:{0}", arr[arr.Length-1]);
Console.Read();
}
public static int[] Sort(int[] array)
{
int index = 0;
int temp = 0;
for (int k = 0; k < array.Length -1; k++)
{
index = k;
for (int j = k; j < array.Length; j++)
{
if (array[index] > array[j])
{
index = j;
}
}
temp = array[index];
array[index] = array[k];
array[k] = temp;
}
return array;
}
}
}
测试数据:80,2,3,4,5
输出:
Min:2
Max:80
using System;
using System.Collections.Generic;
using System.Text;
namespace Test
{
class Program
{
static void Main(string[] args)
{
int[] arr = new int[5] { 80,2,3,4,5};
Sort(arr);
Console.WriteLine("Min:{0}", arr[0]);
Console.WriteLine("Max:{0}", arr[arr.Length-1]);
Console.Read();
}
public static int[] Sort(int[] array)
{
int index = 0;
int temp = 0;
for (int k = 0; k < array.Length -1; k++)
{
index = k;
for (int j = k; j < array.Length; j++)
{
if (array[index] > array[j])
{
index = j;
}
}
temp = array[index];
array[index] = array[k];
array[k] = temp;
}
return array;
}
}
}
测试数据:80,2,3,4,5
输出:
Min:2
Max:80
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C#3.0最新技术 Linq
以下代码为百度百科内容
class Program
{
static void Main(string[] args)
{
int[] arr = new int[] { 8, 5, 89, 3, 56, 4, 1, 58 };
var m = from n in arr where n < 5 orderby n select n;
foreach (var n in m)
{
Console.WriteLine(n);
}
Console.ReadLine();
}
}
以下代码为百度百科内容
class Program
{
static void Main(string[] args)
{
int[] arr = new int[] { 8, 5, 89, 3, 56, 4, 1, 58 };
var m = from n in arr where n < 5 orderby n select n;
foreach (var n in m)
{
Console.WriteLine(n);
}
Console.ReadLine();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
using System;
using System.Collections.Generic;
using System.Text;
namespace 求最大数和最小数
{
class Program
{
static void Main(string[] args)
{
int [] arry=new int[] {20,10,84,12,8,98,14,2,245};
Array.Sort(arry);
Console.WriteLine("最小数为"+arry[0]+"\n" + "最大数为" + arry[arry.Length - 1]);
Console.ReadLine();
}
}
}
调用Array的静态方法sort();
sort()的默认是升序所以排完序后的第一个数为最小数,最后一个数为最大数
using System.Collections.Generic;
using System.Text;
namespace 求最大数和最小数
{
class Program
{
static void Main(string[] args)
{
int [] arry=new int[] {20,10,84,12,8,98,14,2,245};
Array.Sort(arry);
Console.WriteLine("最小数为"+arry[0]+"\n" + "最大数为" + arry[arry.Length - 1]);
Console.ReadLine();
}
}
}
调用Array的静态方法sort();
sort()的默认是升序所以排完序后的第一个数为最小数,最后一个数为最大数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用int的一个方法 int.Max(数组) 得到最大值和也有一个方法的最小值int。Mix(数组),不行的化就自有用循环了,但用foreach比for快
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |