今天主要是将排序算法中最简单的C#冒泡排序所谓C#冒泡排序就是在每一次排序的过程中总有一个最大的值被移动到后面值小的就像水泡一样浮到水面下面我们就看一下代码重要的地方都有注释大家可以看注释
C#冒泡排序代码
classSortingAlgorithms
{
privateint[]arr;
privateintupper;
privateintnumElement;
//初始化数组
publicSortingAlgorithms(intsize)
{
arr=newint[size];
upper=size;
numElement=;
}
//给数组插入元素
publicvoidInsert(intitem)
{
arr[numElement]=item;
numElement++;
}
//打印数组元素
publicvoidDisplayElement()
{
for(inti=;i<=upper;i++)
{
ConsoleWriteLine(arr[i]+);
}
ConsoleReadLine();
}
//冒泡排序
publicvoidBubbleSort()
{
intTemp;
//外循环是限制一次冒泡排序比较的元素个数
for(intOuter=upper;Outer>=;Outer)
{
//一次冒泡排序比较~ourter个元素的大小
for(intInner=;Inner<=Outer;Inner++)
{
//排序过程
if(arr[Inner]>arr[Inner+])
{
Temp=arr[Inner];
arr[Inner]=arr[Inner+];
arr[Inner+]=Temp;
}
}
}
//thisDisplayElement();
}
}
一下是调用算法的过程
staticvoidMain(string[]args)
{
SortingAlgorithmsMyArray=newSortingAlgorithms();
Randomrnd=newRandom();
for(inti=;i<;i++)
{
MyArrayInsert((int)(rndNextDouble()*));
}
ConsoleWriteLine(BeforeSorting:);
MyArrayDisplayElement();
//进行排序
MyArrayBubbleSort();
ConsoleWriteLine(Aftersorting);
//打印排序后的元素
MyArrayDisplayElement();
}