最基本的 冒泡排序
选择排序
插入排序
希尔排序 希尔排序是将组分段,进行插入排序
-
C# code
-
using System; namespace BubbleSorter { public class BubbleSorter { public void Sort( 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>list[i + 1 ]) { done = false ; temp = list; list = 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 ;m<iArrary.Length;m ++ ) Console.Write( " {0} " ,iArrary[m]); Console.WriteLine(); } } }
选择排序
-
C# code
-
using System; namespace SelectionSorter { 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; list = 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 ;m<iArrary.Length;m ++ ) Console.Write( " {0} " ,iArrary[m]); Console.WriteLine(); } } }
插入排序
-
C# code
-
using System; namespace InsertionSorter { public class InsertionSorter { public void Sort( int [] list) { for ( int i = 1 ;i<list.Length;i ++ ) { int t = list; 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 ;m<iArrary.Length;m ++ ) Console.Write( " {0} " ,iArrary[m]); Console.WriteLine(); } } }
希尔排序 希尔排序是将组分段,进行插入排序
-
C# code
-
using System; namespace ShellSorter { public class ShellSorter { public void Sort( int [] list) { int inc; for (inc = 1 ;inc< = list.Length / 9 ;inc = 3 * inc + 1 ); for (;inc> 0 ;inc /= 3 ) { for ( int i = inc + 1 ;i< = list.Length;i += inc) { int t = list[i - 1 ]; int j = i; while ((j>inc) && (list[j - inc - 1 ]>t)) { list[j - 1 ] = list[j - inc - 1 ]; j -= inc; } list[j - 1 ] = t; } } } } 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 }; ShellSorter sh = new ShellSorter(); sh.Sort(iArrary); for ( int m = 0 ;m<iArrary.Length;m ++ ) Console.Write( " {0} " ,iArrary[m]); Console.WriteLine(); } } }