谁能帮我解答一下这道程序题吗??

blueboy22 2005-07-28 06:47:52
题目:给定10个数,将它们存储在一个数组中,并将其按从小到大的顺序输出.
using System;
class Prime
{
public static void Main()
{
int i,j,k,m;
int [ ] que=new int []{4,3,54,6,78,45,21,8,43,96};
for(i=0;i<10;i++)
{
k=i;
for(j=i+1;j<10;j++)
{
if(que[j]<que[k])
k=j;
if (que[k]<que[i])
{
m=que[i];
que[i]=que[k];
que[k]=m;
}
}
}
Console.WriteLine ("输出排序后的结果:");
for(i=0;i<10;i++)
Console.Write ("{0}\t",que[i]);


}

}
其中这里if (que[k]<que[i])
{
m=que[i];
que[i]=que[k];
que[k]=m;
我不是太明白,觉得没必要要这步,刚入门,所以这浅显的问题都不懂,谁能给我详细地解答一下吗,谢谢!!
...全文
62 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
silentspring1983 2005-07-28
  • 打赏
  • 举报
回复
这就是选择排序法!
建议你看一看算法吧,用C++语言实现的
ChengKing 2005-07-28
  • 打赏
  • 举报
回复
1.数据结构那么多排序方法,如冒泡,插入等方法任选一种就可以呀
2.如果懒的去写的话,就用Array.Sort()方法吧
NewBo 2005-07-28
  • 打赏
  • 举报
回复
大概意思就是子循环每次都得出循环中各个数的最小的数,并把他排在第i个位置!
NewBo 2005-07-28
  • 打赏
  • 举报
回复
K是个标志,记载本次子循环中最小数在数组中的编号!
if (que[k]<que[i])
{
m=que[i];
que[i]=que[k];
que[k]=m;
}

110,534

社区成员

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

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

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