程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C# 冒泡排序 實現代碼

C# 冒泡排序 實現代碼

編輯:關於C#
 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Sort
{
class BubbleSorter
{
public static int[] Sort(int[] a)
{
BubbleSort(a);

return a;
}
private static void BubbleSort(int[] myArray)
{
for (int i = 0; i < myArray.Length; i++)//循環的趟數
{

for (int j = 0; j < myArray.Length - 1- i; j++)//每次循環的次數
{

//比較相鄰元素,將值大的後移==》每一趟循環結束==》最後一個數是最大的。

//所以每次循環都比上一次循環的個數少1,即j < myArray.Length - 1- i
if (myArray[j] > myArray[j + 1])
{
Swap(ref myArray[j], ref myArray[j + 1]);
}
}
}
}

//引用參數與值參數
private static void Swap(ref int left, ref int right)
{
int temp;
temp = left;
left = right;
right = temp;
}
}
}

冒泡排序算法的運作如下:
  1. 1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
  2. 2、對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。==》最後一個數就不需要比較了,因為它就是最大的。
  3. 3、針對所有的元素重復以上的步驟,除了最後一個。
  4. 4、持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved