class SortingAlgorithms {
private int[] arr; private int upper;
private int numElement; //初始化数组
public SortingAlgorithms(int size) {
arr = new int[size]; upper = size - 1;
numElement = 0;
}
//给数组插入元素 public void Insert(int item) {
arr[numElement] = item;
numElement++;
}
//打印数组元素
public void DisplayElement() {
for (int i = 0; i <= upper; i++) {
Console.WriteLine(arr[i] + " ");
}
Console.ReadLine();
}
//冒泡排序
public void BubbleSort() {
int Temp;
//外循环是限制一次冒泡排序比较的元素个数
for (int Outer = upper; Outer >= 1; Outer--) {
//一次冒泡排序比较0~ourter-1个元素的大小
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();
} }
一下是调用算法的过程:
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();
//进行排序 MyArray.BubbleSort();
Console.WriteLine("After sorting");
//打印排序后的元素
MyArray.DisplayElement();
}