冒泡排序
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[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 ;m<iArrary.Length;m ++ )
{
Console.Write( " {0} " ,iArrary[m]);
Console.WriteLine();
}
}
}
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[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 ;m<iArrary.Length;m ++ )
{
Console.Write( " {0} " ,iArrary[m]);
Console.WriteLine();
}
}
}
选择排序
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[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 ;m<iArrary.Length;m ++ )
{
Console.Write( " {0} " ,iArrary[m]);
Console.WriteLine();
}
}
}
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[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 ;m<iArrary.Length;m ++ )
{
Console.Write( " {0} " ,iArrary[m]);
Console.WriteLine();
}
}
}
插入排序
using
System;
namespace InsertionSorter
{
public class InsertionSorter
{
public void Sort( int [] list)
{
for ( int i = 1 ;i<list.Length;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 ;m<iArrary.Length;m ++ )
{
Console.Write( " {0} " ,iArrary[m]);
Console.WriteLine();
}
}
}
namespace InsertionSorter
{
public class InsertionSorter
{
public void Sort( int [] list)
{
for ( int i = 1 ;i<list.Length;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 ;m<iArrary.Length;m ++ )
{
Console.Write( " {0} " ,iArrary[m]);
Console.WriteLine();
}
}
}
希尔排序
希尔排序是将组分段,进行插入排序.
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();
}
}
}
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();
}
}
}