C#排序算法大全----冒泡排序

Bubble.cs
-------------------------------------------------------------------------------------------------------------------

using System;

namespace arithmetic
{
 /// <summary>
 /// BubbleSort 的摘要说明。
 /// </summary>
 public class BubbleSort
 {
  public BubbleSort()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }
  public static int Sort(int[] arr)
  {
   int i,j,temp,counter=0;
   //交换标志
   bool exchange;
   //最多做arr.Length-1次排序
   for(i=0;i<arr.Length-1;i++)
   {
    exchange=false; 
    counter++;
    for(j=arr.Length-2;j>=i;j--)
    {
     if(arr[j+1]<arr[j])
     {
      temp=arr[j];
      arr[j]=arr[j+1];
      arr[j+1]=temp;
      exchange=true;
     }
    }
    //如果没有发生交换,提前终止算法
    if(!exchange)
    {
     break;
    }
   }
   //返回排序次数
   return counter;
  }
 }
}


Class1.cs
----------------------------------------------------------------------------------------------------------------------
namespace arithmetic
{
 /// <summary>
 /// Class1 的摘要说明。
 /// </summary>
 class Class1
 {
  /// <summary>
  /// 应用程序的主入口点。
  /// </summary>
  [STAThread]
  static void Main(string[] args)
  {
   //
   // TODO: 在此处添加代码以启动应用程序
   //
   //
   Console.WriteLine("BubbleSort");
   Console.WriteLine("==============================================");
   int[] r={1,5,2,8,4,0,9,7,3,6};
   int loopTime;
   loopTime=BubbleSort.Sort(r);
   for(int i=r.GetLowerBound(0);i<=r.GetUpperBound(0);i++)
   {
    Console.WriteLine("r[{0}]:{1}",i,r[i]);
   }
   Console.WriteLine("经过{0}次排序",loopTime);
   Console.Read();   
  }
  
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值