幾種常用的C#排序方法分別是什么,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)建站是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷策劃、成都微信小程序、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動(dòng)互聯(lián)開(kāi)發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十多年以來(lái),已經(jīng)為上千多家成都門簾各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的上千多家客戶與我們一路同行,見(jiàn)證我們的成長(zhǎng);未來(lái),我們一起分享成功的喜悅。
這五種C#排序方法,其實(shí)在其他語(yǔ)言平臺(tái)中也是常見(jiàn)的,因此C#排序方法也可以說(shuō)是其他語(yǔ)言的排序方法,只不過(guò)實(shí)現(xiàn)的語(yǔ)言不同罷了。
在網(wǎng)上看到很多經(jīng)典排序方法,算法分:
1:插入排序 a.直接插入排序 b.希爾排序
2:交換排序 a.冒泡排序 b.快速排序
3:選擇排序 a.直接選擇排序
4:歸并排序 a.歸并排序
5:分配排序 a.箱排序 b.基數(shù)排序
本人常用的三種C#排序方法:1.直接選擇排序 2.直接插入排序 3.冒泡排序;我用C#語(yǔ)言來(lái)講解一下。
第一種:冒泡排序
原理:對(duì)一個(gè)數(shù)列,我們將它進(jìn)行輪循和交換,每次輪循出***數(shù)或最小數(shù)放在對(duì)尾,依次進(jìn)行循環(huán),輪循長(zhǎng)度為-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; } } } } }
第二種:選擇排序
原理:對(duì)一個(gè)數(shù)列,我們選出***或最小的數(shù),放在隊(duì)尾,依次循環(huán)下去,循環(huán)長(zhǎng)度為-1;由于沒(méi)有冒泡排序那每次都要比較,因此比冒泡排序要快。
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; } } }
第三種:插入排序
原理:對(duì)一個(gè)數(shù)列,我們從第二個(gè)數(shù)開(kāi)始,將它與它前面的數(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; } } }
以上的三種方法是我自己常用的,很簡(jiǎn)單,程序也很容易懂的,對(duì)初學(xué)者很有幫助。
很多人學(xué)過(guò)面向?qū)ο笏枷?,下次就寫下怎么?duì)對(duì)象排序。
看完上述內(nèi)容,你們掌握幾種常用的C#排序方法分別是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!