原创

C# 实现冒泡法排序分析

        C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。


C#冒泡排序具体代码如下:

public static void BubbleSort(IComparable[] array) 
{ 
  int i, j; 
  IComparable temp; 
  for (i = array.Length - 1; i > 0; i--) 
  { 
    for (j = 0; j < i; j++) 
    { 
      if (array[j].CompareTo(array[j + 1]) > 0) 
      { 
        temp = array[j]; 
        array[j] = array[j + 1]; 
        array[j + 1] = temp; 
      } 
    } 
  } 
}


泛型封装,具体代码如下:

public static void BubbleSort<T>(T[] array) where T : IComparable
{
	int length = array.Length;
	for (int i = 0; i < length; i++)
	{
	  T temp = array[i];
	  for (int j = i; j < length; j++)
	  {
	    if (temp.CompareTo(array[j]) >0)
	      {
		  temp = array[j];
		  array[j] = array[i];
		  array[i] = temp;
	      }
	  }
	}
}


测试代码如下:

int[] array = new int[] {20,19,45,40,90,66,18,65,12,145,122,80,97,47};
Console.WriteLine("before bubble sort");
foreach (int i in array)
    {
         Console.Write(i+"->");
     }
Console.WriteLine();
SortHelper.BubbleSort<int>(array);
Console.WriteLine("after bubble sort");
foreach (int i in array)
{
     Console.Write(i + "->");
}
Console.WriteLine();
Console.Read();


运行结果如下:

before bubble sort
20->19->45->40->90->66->18->65->12->145->122->80->97->47->
after bubble sort
12->18->19->20->40->45->47->65->66->87->90->97->122->145->

关注下方微信公众号“Java精选”(w_z90110),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

评论

分享:

支付宝

微信