C#语言——常用的排序算法
一、冒泡排序
冒泡排序(Bubble Sort):是将一个数组中的元素按照从小到大或者从大到小的顺序进行排列,而冒泡排序主要就是去看有关数组和for循环的理解。
二、冒泡排序代码
代码如下(示例):
class Program
{
static void Main(string[] args)
{
int[] arrary = { 66, 99, 36, 445, 65, 12, 1, 8, 6, 92 };
BubbleSort(arrary);
foreach (var item in arrary)
{
Console.WriteLine("冒泡排序:{0}", item);
}
Console.WriteLine();
Console.ReadKey();
}
private static void BubbleSort(int[] arrary)
{
int temp = 0;
for (int i = 0; i < arrary.Length - 1; i++)
{
for (int j = i + 1; j < arrary.Length; j++)
{
if (arrary[i] < arrary[j])//小于号的时候为降序,大于号的时候为升序
{
temp = arrary[j];
arrary[j] = arrary[i];
arrary[i] = temp;
}
}
}
}
}
一、选择排序
选择排序(Selection Sort):首先在一个未排序的序列中找到最小或者最大的元素,然后存放在排序序列的起始位置,然后就从剩下的未排序的元素中找最小或者最大值,以此类推,直到所有元素都排序完。
二、选择排序代码
class Program
{
static void Main(string[] args)
{
int[] arrary = { 66, 99, 36, 445, 65, 12, 1, 8, 6, 92 };
SelectionSort(arrary);
foreach (var item in arrary)
{
Console.WriteLine("选择排序:{0}", item);
}
Console.WriteLine();
Console.ReadKey();
}
private static void SelectionSort(int[] arrary)
{
int temp = 0;
for (int i = 0; i < arrary.Length - 1; i++)
{
int minValue = arrary[i];
int minIndex = i;
for (int j = i + 1; j < arrary.Length; j++)
{
if (minValue < arrary[j])//大于号是升序,小于号是降序
{
minValue = arrary[j];
minIndex = j;
}
}
temp = arrary[i];
arrary[i] = arrary[minIndex];
arrary[minIndex] = temp;
}
}
}
一、插入排序
插入排序(Insert Sort):首先从第一个元素开始默认排序,将下一个元素取出并与排序好的元素进行比较,如果取出的元素小于已经排序的元素,那么,已经排序的元素要向后面移一位(即插入)。重复这一操作,直到取出的元素找到新的插入的位置,并且插入。
二、插入排序代码
class Program
{
static void Main(string[] args)
{
int[] arrary = { 66, 99, 36, 445, 65, 12, 1, 8, 6, 92 };
InsertSort(arrary);
foreach (var item in arrary)
{
Console.WriteLine("插入排序:{0}", item);
}
Console.WriteLine();
Console.ReadKey();
}
private static void InsertSort(int[] arrary)
{
for (int i = 1; i < arrary.Length; i++)
{
int InsertValue = arrary[i];
int InsertIndex = i - 1;
while (InsertIndex >= 0 && InsertValue < arrary[InsertIndex])//大于号为降序,小于号为升序
{
arrary[InsertIndex + 1] = arrary[InsertIndex];
InsertIndex--;
}
arrary[InsertIndex + 1] = InsertValue;
}
}
}