溫馨提示×

溫馨提示×

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

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

C#如何開發(fā)排序算

發(fā)布時(shí)間:2021-12-01 16:27:43 來源:億速云 閱讀:113 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“C#如何開發(fā)排序算”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“C#如何開發(fā)排序算”這篇文章吧。

冒泡排序

學(xué)語言要花大力氣學(xué)數(shù)據(jù)結(jié)構(gòu)和算法。

using System;   namespace BubbleSorter  {  public class BubbleSorter  {  public void Sort(int [] list)  {  int i,j,temp;  bool done=false;  j=1;  while((j<list.Length)&&(!done))  {  done=true;  for(i=0;i<list.Length-j;i++)  {  if(list[i]>list[i+1])  {  done=false;  temp=list[i];  list[i]=list[i+1];  list[i+1]=temp;  }  }  j++;  }   }  }  public class MainClass  {  public static void Main()  {  int[] iArrary=new int[]{1,5,13,6,10,55,99,2,87,12,34,75,33,47};  BubbleSorter sh=new BubbleSorter();  sh.Sort(iArrary);  for(int m=0;m<iArrary.Length;m++)  Console.Write("{0} ",iArrary[m]);  Console.WriteLine();  }  }  }

選擇排序

本人用了C#開發(fā)排序算法。希望能為C#語言的學(xué)習(xí)者帶來一些益處。不要忘了,學(xué)語言要花大力氣學(xué)數(shù)據(jù)結(jié)構(gòu)和算法。

using System;   namespace SelectionSorter  {  public class SelectionSorter  {  private int min;  public void Sort(int [] list)  {  for(int i=0;i<list.Length-1;i++)  {  min=i;  for(int j=i+1;j<list.Length;j++)  {  if(list[j]<list[min])  min=j;  }  int t=list[min];  list[min]=list[i];  list[i]=t;  }   }  }  public class MainClass  {  public static void Main()  {  int[] iArrary=new int[]{1,5,3,6,10,55,9,2,87,12,34,75,33,47};  SelectionSorter ss=new SelectionSorter();  ss.Sort(iArrary);  for(int m=0;m<iArrary.Length;m++)  Console.Write("{0} ",iArrary[m]);  Console.WriteLine();   }  }  }

插入排序

插入排序算法。對(duì)想提高C#語言編程能力的朋友,我們可以互相探討一下。如:下面的程序,并沒有實(shí)現(xiàn)多態(tài),來,幫它實(shí)現(xiàn)一下。

using System;   namespace InsertionSorter  {  public class InsertionSorter  {  public void Sort(int [] list)  {  for(int i=1;i<list.Length;i++)  {  int t=list[i];  int j=i;  while((j>0)&&(list[j-1]>t))  {  list[j]=list[j-1];  --j;  }  list[j]=t;  }   }  }  public class MainClass  {  public static void Main()  {  int[] iArrary=new int[]{1,13,3,6,10,55,98,2,87,12,34,75,33,47};  InsertionSorter ii=new InsertionSorter();  ii.Sort(iArrary);  for(int m=0;m<iArrary.Length;m++)  Console.Write("{0}",iArrary[m]);  Console.WriteLine();  }  }  }

希爾排序

希爾排序是將組分段,進(jìn)行插入排序. 對(duì)想提高C#語言編程能力的朋友,我們可以互相探討一下。如:下面的程序,并沒有實(shí)現(xiàn)多態(tài),來,幫它實(shí)現(xiàn)一下。

using System;   namespace ShellSorter  {  public class ShellSorter  {  public void Sort(int [] list)  {  int inc;  for(inc=1;inc<=list.Length/9;inc=3*inc+1);  for(;inc>0;inc/=3)  {  for(int i=inc+1;i<=list.Length;i+=inc)  {  int t=list[i-1];  int j=i;  while((j>inc)&&(list[j-inc-1]>t))  {  list[j-1]=list[j-inc-1];  j-=inc;  }  list[j-1]=t;  }  }  }  }  public class MainClass  {  public static void Main()  {  int[] iArrary=new int[]{1,5,13,6,10,55,99,2,87,12,34,75,33,47};  ShellSorter sh=new ShellSorter();  sh.Sort(iArrary);  for(int m=0;m<iArrary.Length;m++)  Console.Write("{0} ",iArrary[m]);  Console.WriteLine();  }  }  }

以上是“C#如何開發(fā)排序算”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

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

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

AI