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 ();
}
}
}
选择排序
本人用了 C# 开发出选择排序算法。希望能为 C# 语言的学习者带来一些益处。不要忘了,学语言要花大力气学数据结构和算法。
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 ();
}
}
}
插入排序
插入排序算法。对想提高 C# 语言编程能力的朋友,我们可以互相探讨一下。如:下面的程序,并没有实现多态,来,帮它实现一下。
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 ();
}
}
}
希尔排序
希尔排序是将组分段 , 进行插入排序 . 对想提高 C# 语言编程能力的朋友,我们可以互相探讨一下。如:下面的程序,并没有实现多态,来,帮它实现一下。
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 ))
{
<span sty