永发信息网

帮我解释一下C#选择排序代码

答案:3  悬赏:30  手机版
解决时间 2021-03-23 04:27
  • 提问者网友:萌卜娃娃
  • 2021-03-22 15:53
帮我解释一下C#选择排序代码
最佳答案
  • 五星知识达人网友:玩世
  • 2021-03-22 16:18
public void Sort(int [] list)
{
//外层循环数组
for(int i=0;i {
// 初始第一个值为最小值
min=i;

// 内层循环,从外层循环的数组元素的后一个元素开始
for(int j=i+1;j {
// 找到最小的那个元素
if(list[j] min=j;
}
// 把最小的元素放到数组的最前面,然后后面的元素继续循环
int t=list[min];
list[min]=list[i];
list[i]=t;
}
}
比如数组:5,6,3,1
外层循环第1次:1,5,6,3 1挪到最前
外层循环第2次:1,3,5,6 3挪到最前
外层循环第3次:1,3,5,6 5挪到第3位(虽然你看着5没动,其实也是用临时变量t进行了交换,只是交换位置是同一处
全部回答
  • 1楼网友:摆渡翁
  • 2021-03-22 17:59
选择排序跟冒泡比较像,但这是选择不是冒泡,楼上搞错了。
详细我真不知道该怎么说。反正就是两个循环体,用一变量记录着外循环的值。
然后进入内循环,把外循环的值作为下标值,把该下标处的值,跟它之后所有值作比较
(也就是j=i+1的原因),值比较小的下标一直用MIN记录着。到内循环结束后,MIN记录的已经是
数组中值最小的所在下标,然后作交换,第一位置的元素就是最小元素,之后外循环指向第二个元素,再进内循环做同样的事,内循环结束后数组中第二元素就是第二小元素了,如此类推,外循环结束后,
排序完成。
  • 2楼网友:举杯邀酒敬孤独
  • 2021-03-22 16:38
这是一个冒泡排序!你到百度里搜索 冒泡排序 会有很清楚的解释的!希望能的对你有所帮助!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯