c#

位置:IT落伍者 >> c# >> 浏览文章

C#排序算法大全


发布日期:2018年04月26日
 
C#排序算法大全

冒泡排序

学语言要花大力气学数据结构和算法

using System

namespace BubbleSorter

{

public class BubbleSorter

{

public void Sort(int [] list)

{

int ijtemp

bool done=false

j=

while((j<listLength)&&(!done))

{

done=true

for(i=i<listLengthji++)

{

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

{

done=false

temp=list[i]

list[i]=list[i+]

list[i+]=temp

}

}

j++

}

}

}

public class MainClass

{

public static void Main()

{

int[] iArrary=new int[]{}

BubbleSorter sh=new BubbleSorter()

shSort(iArrary)

for(int m=m<iArraryLengthm++)

ConsoleWrite({} iArrary[m])

ConsoleWriteLine()

}

}

}

选择排序

本人用了C#开发出选择排序算法希望能为C#语言的学习者带来一些益处不要忘了学语言要花大力气学数据结构和算法

using System

namespace SelectionSorter

{

public class SelectionSorter

{

private int min

public void Sort(int [] list)

{

for(int i=i<listLengthi++)

{

min=i

for(int j=i+j<listLengthj++)

{

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[]{}

SelectionSorter ss=new SelectionSorter()

ssSort(iArrary)

for(int m=m<iArraryLengthm++)

ConsoleWrite({} iArrary[m])

ConsoleWriteLine()

}

}

}

插入排序

插入排序算法对想提高C#语言编程能力的朋友我们可以互相探讨一下下面的程序并没有实现多态帮它实现一下

using System

namespace InsertionSorter

{

public class InsertionSorter

{

public void Sort(int [] list)

{

for(int i=i<listLengthi++)

{

int t=list[i]

int j=i

while((j>)&&(list[j]>t))

{

list[j]=list[j]

j

}

list[j]=t

}

}

}

public class MainClass

{

public static void Main()

{

int[] iArrary=new int[]{}

InsertionSorter ii=new InsertionSorter()

iiSort(iArrary)

for(int m=m<iArraryLengthm++)

ConsoleWrite({}iArrary[m])

ConsoleWriteLine()

}

}

}

希尔排序

希尔排序是将组分段进行插入排序 对想提高C#语言编程能力的朋友我们可以互相探讨一下下面的程序并没有实现多态帮它实现一下

using System

namespace ShellSorter

{

public class ShellSorter

{

public void Sort(int [] list)

{

int inc

for(inc=inc<=listLength/inc=*inc+

for(inc>inc/=

{

for(int i=inc+i<=listLengthi+=inc)

{

int t=list[i]

int j=i

while((j>inc)&&(list[jinc]>t))

{

list[j]=list[jinc]

j=inc

}

list[j]=t

}

}

}

}

public class MainClass

{

public static void Main()

{

int[] iArrary=new int[]{}

ShellSorter sh=new ShellSorter()

shSort(iArrary)

for(int m=m<iArraryLengthm++)

ConsoleWrite({} iArrary[m])

ConsoleWriteLine()

}

}

}

               

上一篇:使用ADO.NET2.0提升数据交互性能(1)

下一篇:C#中web.config文件详解