原创

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),专注Java技术干货分享!让你从此路人变大神!回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。微信搜索小程序“Java精选面试题”,内涵3000+道Java面试题!

涵盖:互联网那些事、算法与数据结构、SpringMVC、Spring boot、Spring Cloud、ElasticSearch、Linux、Mysql、Oracle等

评论

分享:

支付宝

微信