public class SelectionSorter
{
// public enum comp {COMP_LESS,COMP_EQUAL,COMP_GRTR};
private int min;
// private int m=0;
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;
// Console.WriteLine("{0}",list[i]);
}}
}
public class MainClass
{
public static void Main()
{
int[] iArrary=new int[]{1,5,3,6,10,55,9,2,87,12,34,75,33,47};
SelectionSorter ss=new SelectionSorter();
ss.Sort(iArrary);
for(int m=0;m<=13;m++)
Console.WriteLine("{0}",iArrary[m]);}
}
麻烦各位大师帮解读一下,顺便看看正确不?

解决方案 »

  1.   

    只看了main,ss.Sort()后,没对iArrary做任何改变,也没有什么返回值 ,所以Console.WriteLine后还是{1,5,3,6,10,55,9,2,87,12,34,75,33,47}顺序。
      

  2.   

    Sort方法  就是一个简单的冒泡排序
      

  3.   

    SelectionSorter沒有回傳值,那麼
    for(int m=0;m<=13;m++)
    Console.WriteLine("{0}",iArrary[m]);
    當然就是按原數組顯示。不然你就將Console.WriteLine(....)寫在SelectionSorter中也可以
      

  4.   

    int[] iArrary = (new int[] { 1, 5, 3, 6, 10, 55, 9, 2, 87, 12, 34, 75, 33, 47 }).OrderBy(x => x);
    for (int m = 0; m <= 13; m++)
        Console.WriteLine("{0}", iArrary[m]);
      

  5.   

    class Program
        {
            static void Main(string[] args)
            {
                string[] IPS = new string[] { "192.168.1.1", "20.168.1.1" , "200.200.200.200"};
                Array.Sort<string>(IPS, new Comparison<string>(delegate(string ip1, string ip2) {
                    return Comparer<uint>.Default.Compare(ConvertToUInt(ip1), ConvertToUInt(ip2));
                }));
            }

            private static uint ConvertToUInt(string ip1)
            {
                string[] sip = ip1.Split('.');
                return (uint.Parse(sip[0]) << 24)
                    | (uint.Parse(sip[1]) << 16)
                    | (uint.Parse(sip[2]) << 8)
                    | (uint.Parse(sip[3]));
            }
        }
    请问这个什么方法,具体是什么意思啊
      

  6.   

    string[] IPS = new string[] { "192.168.1.1", "20.168.1.1" , "200.200.200.200"};
    IPS = IPS.OrderBy(x => string.Join("", x.Split('.').Select(y => y.PadLeft(2, '0')))).ToArray();
    这样就可以了。