龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C#开发 >

几种常用的C#排序方法简介

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
这五种C#排序方法,其实在其他语言平台中也是常见的,因此C#排序方法也可以说是其他语言的排序方法,只不过实现的语言不同罢了。 在网上看到很多经典排序方法,算法分: 1:插入

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

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

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

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

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

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

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

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

第一种:冒泡排序

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

  1. public class EbullitionSorter  
  2. {  
  3.  public void Sort(int[] arr)  
  4.  {  
  5.   for(int i=arr.length-1;i>0;i--)  
  6.   {  
  7.    for(int j=0;j   {  
  8.     if(arr[i]    {  
  9.      int temp=arr[i];  
  10.      arr[i]=arr[j];  
  11.      arr[j]=temp;  
  12.     }  
  13.    }  
  14.   }  
  15.  }  

第二种:选择排序

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

  1. public class SelectionSorter  
  2. {  
  3.  private int min;  
  4.  public void Sort(int[] arr)  
  5.  {  
  6.   for(int i=0;i  {  
  7.    min=i;  
  8.    for(int j=i+1;j   {  
  9.     if(arr[j]    {  
  10.      min=j;  
  11.     }  
  12.    }  
  13.    int temp=arr[min];  
  14.    arr[min]=arr[i];    
  15.    arr[i]=temp;  
  16.   }  
  17.  }  

第三种:插入排序

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

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

  1. public class InsertionSorter  
  2. {  
  3.  public void Sort(int[] arr)  
  4.  {  
  5.   for(int i=1;i  {  
  6.    int temp=arr[i];   
  7.    int j=i;  
  8.    while((j>0)&&(arr(j-1)>temp))  
  9.    {  
  10.     arr[j]=arr[j-1];  
  11.     --j;  
  12.    }  
  13.    arr[j]=temp;  
  14.   }  
  15.  }  

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

很多人学过面向对象思想,下次就写下怎么对对象排序。

以上有错的地方请谅解!!


精彩图集

赞助商链接