溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

幾種常用的C#排序方法分別是什么

發(fā)布時(shí)間:2021-11-22 18:32:12 來源:億速云 閱讀:207 作者:柒染 欄目:編程語言

幾種常用的C#排序方法分別是什么,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

這五種C#排序方法,其實(shí)在其他語言平臺(tái)中也是常見的,因此C#排序方法也可以說是其他語言的排序方法,只不過實(shí)現(xiàn)的語言不同罷了。

在網(wǎng)上看到很多經(jīng)典排序方法,算法分:

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

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

3:選擇排序 a.直接選擇排序

4:歸并排序 a.歸并排序

5:分配排序 a.箱排序        b.基數(shù)排序

本人常用的三種C#排序方法:1.直接選擇排序 2.直接插入排序 3.冒泡排序;我用C#語言來講解一下。

第一種:冒泡排序

原理:對一個(gè)數(shù)列,我們將它進(jìn)行輪循和交換,每次輪循出***數(shù)或最小數(shù)放在對尾,依次進(jìn)行循環(huán),輪循長度為-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;      }     }    }   }  }

第二種:選擇排序

原理:對一個(gè)數(shù)列,我們選出***或最小的數(shù),放在隊(duì)尾,依次循環(huán)下去,循環(huán)長度為-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;    }   }  }

第三種:插入排序

原理:對一個(gè)數(shù)列,我們從第二個(gè)數(shù)開始,將它與它前面的數(shù)字進(jìn)行比較,每次選出***

或最小的數(shù)放在隊(duì)首,因而形成一個(gè)有序的隊(duì)列,所以它比選擇排序更快。

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;    }   }  }

以上的三種方法是我自己常用的,很簡單,程序也很容易懂的,對初學(xué)者很有幫助。

很多人學(xué)過面向?qū)ο笏枷?,下次就寫下怎么對對象排序?/p>

看完上述內(nèi)容,你們掌握幾種常用的C#排序方法分別是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI