上一篇 |
下一篇 |
收藏此文
2007-2-10 23:44 作者: 来源:
查看: 457次
冒泡排序
本人用了C#开发出冒泡排序算法。希望能为C#语言的学习者带来一些益处。不要忘了,学语言要花大力气学数据结构和算法。
| 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>list) { done=false; temp=list; list=list; list=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); 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<list) min=j; } int t=list; list=list; list=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); 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; int j=i; while((j>0)&&(list>t)) { list=list; --j; } list=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); 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; int j=i; while((j>inc)&&(list>t)) { list=list; j-=inc; } list=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); Console.WriteLine(); } } } |