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);
38for(int m=0;m<iArrary.Length;m++)
39Console.Write("{0} ",iArrary[m]);
40Console.WriteLine();
41}
42}
43}
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);
38for(int 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{
11for(int i=0;i<list.Length-1;i++)
12{
13min=i;
14for(int 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);
34for(int m=0;m<iArrary.Length;m++)
35Console.Write("{0} ",iArrary[m]);
36Console.WriteLine();
37
38
39}
40}
41}
2
3
4namespace SelectionSorter
5{
6public class SelectionSorter
7{
8private int min;
9public void Sort(int [] list)
10{
11for(int i=0;i<list.Length-1;i++)
12{
13min=i;
14for(int 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);
34for(int 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{
10for(int 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);
32for(int m=0;m<iArrary.Length;m++)
33Console.Write("{0}",iArrary[m]);
34Console.WriteLine();
35}
36}
37}
2
3
4namespace InsertionSorter
5{
6public class InsertionSorter
7{
8public void Sort(int [] list)
9{
10for(int 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);
32for(int 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{
14for(int 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);
35for(int m=0;m<iArrary.Length;m++)
36Console.Write("{0} ",iArrary[m]);
37Console.WriteLine();
38}
39}
40}
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{
14for(int 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);
35for(int m=0;m<iArrary.Length;m++)
36Console.Write("{0} ",iArrary[m]);
37Console.WriteLine();
38}
39}
40}