程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 快速排序算法-c#版

快速排序算法-c#版

編輯:C#入門知識

[csharp]         大多數程序員在寫排序算法的時候,都會采用冒泡算法,為什麼了?因為這個算法最簡單,最容易理解,也最容易寫。   但是,冒泡算法效率並不高,今天就寫一個c#的快速排序算法。   廢話不多說,先直接上代碼:   [csharp]   using System;   using System.Collections.Generic;   using System.Linq;   using System.Text;      namespace QuickSortDemo   {       class QuickSort       {           public void Sort(int[] arr)           {               sortMethd(arr, 0, arr.Length - 1);           }           private void sortMethd(int[] arr, int left, int right)           {               if (left < right)               {                   int key = arr[(left + right) / 2];                   int i = left-1 ;                   int j = right + 1;                   while (true)                   {                       /*                      這裡是關鍵的地方                   *                                                                     */                       while (arr[++i] < key ) ;                       while (arr[--j] > key ) ;                       if (i >= j)                       {                           break;                       }                       swap(arr, i, j);                   }                   sortMethd(arr, left, i - 1);                   sortMethd(arr, j+1 , right);               }           }           private void swap(int[] arr, int i, int j)           {               int temp = arr[i];               arr[i] = arr[j];               arr[j] = temp;           }       }   }      

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved