簡單介紹C#冒泡排序
作者:佚名
本文介紹所謂C#冒泡排序就是在每一次排序的過程中總有一個(gè)最大的值被移動(dòng)到后面,值小的就像水泡一樣浮到水面。
今天主要是將排序算法中最簡單的C#冒泡排序。所謂C#冒泡排序就是在每一次排序的過程中總有一個(gè)最大的值被移動(dòng)到后面,值小的就像水泡一樣浮到水面。下面我們就看一下代碼,重要的地方都有注釋,大家可以看注釋。
C#冒泡排序代碼:
- class SortingAlgorithms
- {
- private int[] arr;
- private int upper;
- private int numElement;
- //初始化數(shù)組
- public SortingAlgorithms(int size)
- {
- arr = new int[size];
- upper = size - 1;
- numElement = 0;
- }
- //給數(shù)組插入元素
- public void Insert(int item)
- {
- arr[numElement] = item;
- numElement++;
- }
- //打印數(shù)組元素
- public void DisplayElement()
- {
- for (int i = 0; i <= upper; i++)
- {
- Console.WriteLine(arr[i] + " ");
- }
- Console.ReadLine();
- }
- //冒泡排序
- public void BubbleSort()
- {
- int Temp;
- //外循環(huán)是限制一次冒泡排序比較的元素個(gè)數(shù)
- for (int Outer = upper; Outer >= 1; Outer--)
- {
- //一次冒泡排序比較0~ourter-1個(gè)元素的大小
- for (int Inner = 0; Inner <= Outer-1; Inner++)
- {
- //排序過程
- if (arr[Inner] > arr[Inner + 1])
- {
- Temp = arr[Inner];
- arr[Inner] = arr[Inner + 1];
- arr[Inner + 1] = Temp;
- }
- }
- }
- //this.DisplayElement();
- }
- }
- 一下是調(diào)用算法的過程:
- static void Main(string[] args)
- {
- SortingAlgorithms MyArray = new SortingAlgorithms(10);
- Random rnd = new Random(100);
- for (int i = 0; i < 10; i++)
- {
- MyArray.Insert((int)(rnd.NextDouble()*100));
- }
- Console.WriteLine("Before Sorting:");
- MyArray.DisplayElement();
- //進(jìn)行排序
- MyArray.BubbleSort();
- Console.WriteLine("After sorting");
- //打印排序后的元素
- MyArray.DisplayElement();
- }
【編輯推薦】
責(zé)任編輯:佚名
來源:
IT168