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

數據結構C#實例教程:冒泡排序算法

編輯:更多關於編程

       由於這本書我發現的錯誤較多,感覺質量不是很好,所以大家在看的時候一定要注意。好了,我們繼續這個系列,今天主要是將排序算法中最簡單的冒泡排序。所謂冒泡排序就是在每一次排序的過程中總有一個最大的值被移動到後面,值小的就像水泡一樣浮到水面。下面我們就看一下代碼,重要的地方都有注釋,大家可以看注釋。

      1 class SortingAlgorithms

      2 {

      3 private int[] arr;

      4 private int upper;

      5 private int numElement;

      6

      7 //初始化數組

      8 public SortingAlgorithms(int size)

      9 {

      10 arr = new int[size];

      11 upper = size - 1;

      12 numElement = 0;

      13 }

      14

      15 //給數組插入元素

      16 public void Insert(int item)

      17 {

      18 arr[numElement] = item;

      19 numElement++;

      20 }

      21

      22 //打印數組元素

      23 public void DisplayElement()

      24 {

      25 for (int i = 0; i <= upper; i++)

      26 {

      27 Console.WriteLine(arr[i] + " ");

      28 }

      29 Console.ReadLine();

      30 }

      31

      32

      33 //冒泡排序

      34 public void BubbleSort()

      35 {

      36 int Temp;

      37 //外循環是限制一次冒泡排序比較的元素個數

      38 for (int Outer = upper; Outer >= 1; Outer--)

      39 {

      40 //一次冒泡排序比較0~ourter-1個元素的大小

      41 for (int Inner = 0; Inner <= Outer-1; Inner++)

      42 {

      43 //排序過程

      44 if (arr[Inner] > arr[Inner + 1])

      45 {

      46 Temp = arr[Inner];

      47 arr[Inner] = arr[Inner + 1];

      48 arr[Inner + 1] = Temp;

      49 }

      50 }

      51 }

      52 //this.DisplayElement();

      53 }

      54

      55 }

      56

      57一下是調用算法的過程:

      58 static void Main(string[] args)

      59 {

      60 SortingAlgorithms MyArray = new SortingAlgorithms(10);

      61 Random rnd = new Random(100);

      62 for (int i = 0; i < 10; i++)

      63 {

      64 MyArray.Insert((int)(rnd.NextDouble()*100));

      65 }

      66 Console.WriteLine("Before Sorting:");

      67 MyArray.DisplayElement();

      68 //進行排序

      69 MyArray.BubbleSort();

      70 Console.WriteLine("After sorting");

      71 //打印排序後的元素

      72 MyArray.DisplayElement();

      73 }

            :更多精彩教程請關注三聯設計教程 欄目,

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