博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
几种常用的C#排序方法简介
阅读量:7219 次
发布时间:2019-06-29

本文共 1195 字,大约阅读时间需要 3 分钟。

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

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

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

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

本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2010/12/27/1917501.html,如需转载请自行联系原作者

你可能感兴趣的文章
Qt之布局管理——(1)基本布局管理
查看>>
Oracle 连接玩我!ORA-12514及ORA-28547错误解决
查看>>
被遗忘的Ruby Web开发框架
查看>>
c# 自动构造json 字符串
查看>>
windows下创建没有文件名只有后缀的文件夹或者文件
查看>>
Android中怎么一次性关闭打开的多个Activity?
查看>>
jQuery:1.[3-4],jQuery基础学习(二)
查看>>
用Javascript为DropDownList添加一个Item至定义索引位置
查看>>
(译).NET4.X 并行任务中Task.Start()的FAQ
查看>>
ASP.NET的适配器设计模式(Adapter)
查看>>
X.509证书
查看>>
Androidの网络通信之TDP
查看>>
C# 事务
查看>>
eclipse设置保护眼睛的背景色与字体
查看>>
Codeforces Round #174 (Div. 2) Cows and Primitive Roots(数论)
查看>>
git log显示
查看>>
JAVA——继承、多态、重载和重写---转
查看>>
(转)一点一点学ASP.NET-HttpHandler
查看>>
Sesame 2.7.0 发布,Java 的 RDF 开发包
查看>>
配置服务Ubuntu 嵌入式开发环境配置,交叉编译环境+tftp+minicom
查看>>