彩票走势图

几种经典的C#排序方法

转帖|其它|编辑:郝浩|2010-07-13 11:27:40.000|阅读 993 次

概述:这五种C#排序方法,其实在其他语言平台中也是常见的,因此C#排序方法也可以说是其他语言的排序方法,只不过实现的语言不同罢了。本文将介绍几种经典的C#排序方法。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  这五种C#排序方法,其实在其他语言平台中也是常见的,因此C#排序方法也可以说是其他语言的排序方法,只不过实现的语言不同罢了。

  在网上看到很多经典排序方法,算法分:

  1:插入排序 a.直接插入排序  b.希尔排序

  2:交换排序 a.冒泡排序      b.快速排序

  3:选择排序 a.直接选择排序

  4:归并排序 a.归并排序

  5:分配排序 a.箱排序   ;     b.基数排序

  本人常用的三种C#排序方法:1.直接选择排序 2.直接插入排序 3.冒泡排序;我用C#语言来讲解一下。

  第一种:冒泡排序

  原理:对一个数列,我们将它进行轮循和交换,每次轮循出最大数或最小数放在对尾,依次进行循环,轮循长度为-1。

  public class EbullitionSorter

  {

  public void Sort(int[] arr)

  {

  for(int i=arr.length-1;i>0;i--)

  {

  for(int j=0;j

  {

  if(arr[i]

  {

  int temp=arr[i];

  arr[i]=arr[j];

  arr[j]=temp;

  }

  }

  }

  }

  }

  第二种:选择排序

  原理:对一个数列,我们选出最大或最小的数,放在队尾,依次循环下去,循环长度为-1;由于没有冒泡排序那每次都要比较,因此比冒泡排序要快。

  public class SelectionSorter

  {

  private int min;

  public void Sort(int[] arr)

  {

  for(int i=0;i

  {

  min=i;

  for(int j=i+1;j

  {

  if(arr[j]

  {

  min=j;

  }

  }

  int temp=arr[min];

  arr[min]=arr[i];

  arr[i]=temp;

  }

  }

  }

  第三种:插入排序

  原理:对一个数列,我们从第二个数开始,将它与它前面的数字进行比较,每次选出最大

  或最小的数放在队首,因而形成一个有序的队列,所以它比选择排序更快。

  public class InsertionSorter

  {

  public void Sort(int[] arr)

  {

  for(int i=1;i

  {

  int temp=arr[i];

  int j=i;

  while((j>0)&&(arr(j-1)>temp))

  {

  arr[j]=arr[j-1];

  --j;

  }

  arr[j]=temp;

  }

  }

  }

  以上的三种方法是我自己常用的,很简单,程序也很容易懂的,对初学者很有帮助


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:网络转载

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP