原创

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),回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。

Java精选专注程序员推送一些Java开发知识,包括基础知识、各大流行框架(Mybatis、Spring、Spring Boot等)、大数据技术(Storm、Hadoop、MapReduce、Spark等)、数据库(Mysql、Oracle、NoSQL等)、算法与数据结构、面试专题、面试技巧经验、职业规划以及优质开源项目等。其中一部分由小编总结整理,另一部分来源于网络上优质资源,希望对大家的学习和工作有所帮助。

评论

分享:

支付宝

微信