C#排序算法大全??
C#排序算法大全
土人
2004-7-21
一、冒泡排序(Bubble)
![]()
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();
}
}
}
![]()
二、选择排序(Selection)
![]()
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();
}
}
}
![]()
三、插入排序(InsertionSorter)
![]()
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();
}
}
}
![]()
四、希尔排序(ShellSorter)
![]()
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();
}
}
}
![]()
白虎

Hello! I Am David.DU.
posted @
2008-08-28 11:22
白虎
阅读(
4821)
评论()
收藏
举报
非常感谢dudu,感谢博客园提供的各种服务。
联系白虎(David.Du)