四种C#排序算法代码示例

C#排序算法一般都涉及到循环,以及赋值。通过排序,能进行简单的统计与分类,具有极其重要的价值。这里将介绍四种不同的C#排序算法代码,希望对大家有所帮助。

C#排序算法一、冒泡排序(Bubble)

using System;   


namespace BubbleSorter   


{   


public class BubbleSorter   


{   


public void Sort(int[] list)   


{   


int i,j,temp;   



bool done=false;   




j=1;   



while((j{   



done=true;   




for(i=0;i{   




if(list[i]>list[i+1])   



{   



done=false;   




temp=list[i];   



list[i]=list[i+1];   


list[i+1]=temp;   


}   


}   


j++;   


}   


}   


}   


 


public class MainClass   


{   


public static void Main()   


{   



int[] iArrary=new int[]{1,5,13,6,10,55,99,2,87,12,34,75,33,47};   




BubbleSorter sh=new BubbleSorter();   



sh.Sort(iArrary);   



for(int m=0;mConsole.Write("{0} ",iArrary[m]);   



Console.WriteLine();   


}   


}   


}  

C#排序算法二、选择排序(Selection)

using System;   


namespace SelectionSorter   


{   


public class SelectionSorter   


{   


private int min;   


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;   


}   


}   


}   


 


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;mConsole.Write("{0} ",iArrary[m]);   



Console.WriteLine();   


}   


}   


}  

C#排序算法三、插入排序(InsertionSorter)

using System;   


namespace InsertionSorter   


{   


public class InsertionSorter   


{   


public void Sort(int [] list)   


{   



for(int i=1;i{   




int t=list[i];   




int j=i;   




while((j>0)&&(list[j-1]>t))   



{   


list[j]=list[j-1];   


--j;   


}   


list[j]=t;   


}   


}   


}   


 


public class MainClass   


{   


public static void Main()   


{   



int[] iArrary=new int[]{1,13,3,6,10,55,98,2,87,12,34,75,33,47};   




InsertionSorter ii=new InsertionSorter();   



ii.Sort(iArrary);   



for(int m=0;mConsole.Write("{0}",iArrary[m]);   



Console.WriteLine();   


}   


}   


}  

相关推荐