C#排序算法大全

冒泡排序
 1using System; 
 2
 3namespace BubbleSorter
 4{
 5public class BubbleSorter
 6{
 7public void Sort(int [] list)
 8{
 9int i,j,temp;
10bool done=false
11j=1
12while((j<list.Length)&&!done))
13{
14done=true
15for(i=0;i<list.Length-j;i++
16{
17if(list[i]>list[i+1])
18{
19done=false
20temp=list[i];
21list[i]=list[i+1];
22list[i+1]=temp;
23}

24}

25j++
26}

27
28
29}

30}

31public class MainClass
32
33public static void Main()
34{
35int[] iArrary=new int[]{1,5,13,6,10,55,99,2,87,12,34,75,33,47}
36BubbleSorter sh=new BubbleSorter();
37sh.Sort(iArrary);
38forint m=0;m<iArrary.Length;m++
39Console.Write("{0} ",iArrary[m]); 
40Console.WriteLine();
41}

42}

43}

选择排序
 1using System;
 2
 3
 4namespace SelectionSorter
 5{
 6public class SelectionSorter
 7
 8private int min;
 9public void Sort(int [] list)
10{
11forint i=0;i<list.Length-1;i++
12{
13min=i;
14forint j=i+1;j<list.Length;j++
15{
16if(list[j]<list[min])
17min=j;
18}

19int t=list[min];
20list[min]=list[i];
21list[i]=t;
22}

23
24
25}

26}

27public class MainClass
28
29public static void Main()
30{
31int[] iArrary=new int[]{1,5,3,6,10,55,9,2,87,12,34,75,33,47}
32SelectionSorter ss=new SelectionSorter();
33ss.Sort(iArrary);
34forint m=0;m<iArrary.Length;m++
35Console.Write("{0} ",iArrary[m]); 
36Console.WriteLine();
37
38
39}

40}

41}

插入排序
 1using System;
 2
 3
 4namespace InsertionSorter
 5{
 6public class InsertionSorter
 7{
 8public void Sort(int [] list)
 9{
10forint i=1;i<list.Length;i++
11{
12int t=list[i];
13int j=i;
14while((j>0&&(list[j-1]>t))
15{
16list[j]=list[j-1];
17--j;
18}

19list[j]=t;
20}

21
22
23}

24}

25public class MainClass
26
27public static void Main()
28{
29int[] iArrary=new int[]{1,13,3,6,10,55,98,2,87,12,34,75,33,47}
30InsertionSorter ii=new InsertionSorter();
31ii.Sort(iArrary);
32forint m=0;m<iArrary.Length;m++
33Console.Write("{0}",iArrary[m]); 
34Console.WriteLine();
35}

36}

37}

希尔排序
 1using System; 
 2
 3
 4namespace ShellSorter
 5{
 6public class ShellSorter
 7{
 8public void Sort(int [] list)
 9{
10int inc;
11for(inc=1;inc<=list.Length/9;inc=3*inc+1);
12for(;inc>0;inc/=3
13{
14forint i=inc+1;i<=list.Length;i+=inc)
15{
16int t=list[i-1];
17int j=i;
18while((j>inc)&&(list[j-inc-1]>t))
19{
20list[j-1]=list[j-inc-1];
21j-=inc;
22}

23list[j-1]=t;
24}

25}

26}

27}

28public class MainClass
29
30public static void Main()
31{
32int[] iArrary=new int[]{1,5,13,6,10,55,99,2,87,12,34,75,33,47}
33ShellSorter sh=new ShellSorter();
34sh.Sort(iArrary);
35forint m=0;m<iArrary.Length;m++
36Console.Write("{0} ",iArrary[m]); 
37Console.WriteLine();
38}

39}

40}
 
posted @ 2006-03-08 11:46  Day_Dreamer  阅读(210)  评论(0编辑  收藏  举报