C#选择排序问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 17:37:25
using System;
public class SelectionSorter
{
private int min;
public void Sort(int[] list)
{
for (int i = 0; i < list.Length - 1; i++)
{
min = i;
for (int j = i + 1; j < list.Length; j++)
{
if (list[j] < list[min])
min = j;
}
int t = list[min]; //问题就在这儿
list[min] = list[i];
list[i] = t;
}
}
}
public class MainClass
{
public static void Main()
{
int[] iArrary = new int[] { 10,8,9,7,5,6 };
SelectionSorter ss = new SelectionSorter();
ss.Sort(iArrary);
for (int m = 0; m < iArrary.Length; m++)
Console.Write("{0} ", iArrary[m]);
Console.WriteLine();
}
}
我是这么考虑的:第一趟i=0的时候,j循环最后输出的min结果是4,那么

你这是做的一个练习还是实际要应用?

如果要用的话直接用C#提供的Array.Sort()方法就可以排序,也可以加各种参数。

int[] iArrary = new int[] { 10,8,9,7,5,6 };
什么意思?是定义iArrary数组的元素是10,8,9,7,5,6 它吗?
我回家试试,以后聊!

见 百度百科 选择排序法