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

这五种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.  }  

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

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

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

当前标题:几种常用的C#排序方法简介
文章转载:http://www.shufengxianlan.com/qtweb/news11/67561.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联