我刚开始学! 定义一个一维数组!用foreach给他从大到小排序! 5

 我来答
修手机哋屠玞
2011-11-11 · TA获得超过160个赞
知道答主
回答量:27
采纳率:0%
帮助的人:23.9万
展开全部
foreach是取出每一个值,然后把这些值怎么样,至于排序还是得用for循环,也就是冒泡排序。
int[] a = new int[5] {10,20,30,40,50 };//定义一个数组
int temp; //临时变量,冒泡时存储临时值
for (int i = 0; i < a.Length-1; i++)
{
for (int j = 0; j < a.Length - 1-i; j++)
{
if (a[j] < a[j + 1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
每次取出数组的一个值,和数组中的数字相比较
文字解释不清楚,总体的思路是数组有n个值,就循环n-1次,最后一个数是不用比较的,因为所以比他小的都冒泡到后面去了,最后一个一定是最大的。
上面的是外循环,内循环:
取出第一个值,依次和数组内的值比较,一旦遇到比自己大的,他就与之交换在数组中的位置。

外循环n-1次后,顺序已经排好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bighero3
2011-11-14 · 超过10用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:99.5万
展开全部
foreach只是对集合的元素来做循环,不是用来排序,使用foreach对集合的元素进行遍历之前,需要对集合的元素按一定顺序进行排列,默认情况下以元素添加的先后来排序。至于对集合元素的排序需要自己编写程序,并且在应用排序算法时是不好使用foreach的。
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yaj52125
2011-11-11 · TA获得超过404个赞
知道小有建树答主
回答量:450
采纳率:100%
帮助的人:496万
展开全部
for (int i = 0; i < arr.Length - 1; i++)
{
for (int j = 0; j < arr.Length - i-1; j++)
{
if (arr[j] > arr[j + 1])
{
long tem = arr[i];
arr[i] = arr[j];
arr[j] = tem;
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式