冒泡排序:
从头开始,每一个元素和它的下一个元素比较,如果它大,就将它与比较的元素交换,否则不动。(这意味着,大的元素总是在向后慢慢移动直到遇到比它更大的元素。所以每一轮交换完成都能将最大值冒到最后。)
冒泡算法C:
//namespce数组排序
{
class Program
{
static void Main(String[] args)
{
int element = 0;
int[] arr = {12,45,33,25,21,5,4,9};
for(int i = 0;i < arr.Length - 1; i++)
{
//region将大的数字移到数组的arr.length - 1 - i
for(int y = 0; y < arr.length - 1; y++)
{
if(arr[y] > arr[y + 1])
{
element = arr[y + 1];
arr[Y + 1] = arr[y];
arr[y] = element;
}
}
}
Console.WriteLine("排序后的数组:");
foreach(int item in arr)
{
Console.Write(item + "");
}
Console.WriteLine();
Console.WriteKey();
}
}
}
选择排序
选择排序是搜索整个数组,将找到的最小值与数组中的第一个元素交换位置;然后在剩下的元素中找到最小的值,将找到的最小值与数组中第二位元素交换位置,以此类推,直到将所有的元素排好顺序。
//选择排序,从小到大排序
public static void selecetionsort()
{
int[] array = new int[6]{1,6,8,12,9,7}//定义一个数组
for(int i = 0;i < array.length;i++)//外层循环,执行的是寻找最小值的次数
{
int min = i;//现将数组的下标1赋值给min(此时min就代表数组中的第一个元素)
for(int y = i + 1;y = array.length;i++)//内层循环
{
if(array[min] > array[y])//将最小值与后面的元素进行比较 {
min = y;//如果最小值大于后面的某一个元素,就将后面的某个元素作为最小值,直至本次比较完毕
}
}
int temp = array[i];//将找到的最小值添加到数组相应的位置
array[min] = temp;
}
foreach(int item in array)
{
Console.Write(item + "");
}
}