zoukankan      html  css  js  c++  java
  • 几种常用的C#排序方法简介

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

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

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

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

  • 相关阅读:
    01 《i》控制字体大小 v-for循环绑定类名 v-bind 结合三目运算 动态添加类
    右侧是长方形和半圆结合 光标放上去在规定时间内完成动画
    04-align-content 它对于当单行是没有效果的
    03-flex-wrap是否换行
    02-align-items的用法
    01--顶部的通告特效---仅显示一条一条滚动
    洛谷P2392 kkksc03考前临时抱佛脚(01背包/搜索)
    蓝桥杯 9大臣的旅费(树的直径)
    蓝桥杯 8买不到的数目(数论/线性DP)
    蓝桥杯 7连号区间数(暴力or并查集(?)
  • 原文地址:https://www.cnblogs.com/soundcode/p/1917501.html
Copyright © 2011-2022 走看看