一组数据,从小到大排列怎么搞?

解决方案 »

  1.   

    /// <summary>
    /// BubbleSorter :冒泡排序算法。
    /// </summary>
    public class BubbleSorter 

    public BubbleSorter()
    { }
    public void Sort(ref int [] list)

    int i,j,temp;
    bool done=false;
    j=1; while((j<list.Length)&&(!done))

    done=true;
    for(i=0;i<list.Length-j;i++)
    {
    if(list[i]>list[i+1])
    {
    done=false;
    temp=list[i];
    list[i]=list[i+1];
    list[i+1]=temp;

    }
    j++;
    }
    }
    }  public class MainClassBubble 
    {
    public static void MainBubble() 
    {
    int[] iArrary=new int[]{1,5,13,6,10,55,99,2,87,12,34,75,33,47}; BubbleSorter sh=new BubbleSorter();
    sh.Sort(ref iArrary); Console.WriteLine("冒泡算法排序:"); for(int m=0;m<iArrary.Length;m++)
    Console.Write("{0} ",iArrary[m]); Console.WriteLine();
    Console.WriteLine();
    }
    }
      

  2.   

    选择排序法
     1
     2public void SortChoice(int [] list)
     3{
     4    long begintime = System.DateTime.Now.Millisecond;
     5    int min;
     6    for(int i=0;i<list.Length-1;i++)
     7    {
     8        min=i;
     9        for(int j=i+1;j<list.Length;j++)
    10        {
    11            if(list[j]<list[min])
    12                min=j;
    13        }
    14        int t=list[min];
    15        list[min]=list[i];
    16        list[i]=t;
    17    }
    18    long endtime = System.DateTime.Now.Millisecond;
    19    WriteLine(begintime);
    20    WriteLine(endtime);
    21    WriteLine(endtime-begintime);
    22}