C# 冒泡排序

简介: using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Sort{ class BubbleSorter { public static int[] Sort(int[] a) {
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Sort
{
    class BubbleSorter
    {
        public static int[] Sort(int[] a)
        {
            BubbleSort(a);
            return a;
        }
        private static void BubbleSort(int[] myArray)
        {
            for (int i = 0; i < myArray.Length; i++)//循环的趟数
            {
                for (int j = 0; j < myArray.Length - 1- i; j++)//每次循环的次数
                {
		//比较相邻元素,将值大的后移==》每一趟循环结束==》最后一个数是最大的。
		//所以每次循环都比上一次循环的个数少1,即j < myArray.Length - 1- i
                    if (myArray[j] > myArray[j + 1])
                    {
                        Swap(ref myArray[j], ref myArray[j + 1]);
                    }
                }
            }
        }
	//引用参数与值参数
        private static void Swap(ref int left, ref int right)
        {
            int temp;
            temp = left;
            left = right;
            right = temp;
        }
    }
}
冒泡排序算法的运作如下:
  1. 1、比较 相邻 的元素。如果第一个比第二个大,就交换他们两个。
  2. 2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。 在这一点,最后的元素应该会是最大的数。==》最后一个数就不需要比较了,因为它就是最大的。
  3. 3、针对所有的元素重复以上的步骤,除了最后一个。
  4. 4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
作者:jiankunking 出处:http://blog.csdn.net/jiankunking
目录
相关文章
|
搜索推荐 算法 C#
【Unity 3D】C#中冒泡排序、选择排序、插入排序等算法的详解(附源码 超详细)
【Unity 3D】C#中冒泡排序、选择排序、插入排序等算法的详解(附源码 超详细)
360 1
C#基础⑥.2——数组(冒泡排序、求最值、数组排序、forr反转)
一次语文测试后,老师让班长统计每一个学生的成绩并计算全班(全班共5人)的平均成绩,然后把所有成绩显示出来。
|
搜索推荐 C#
C#实现冒泡排序算法
C#实现冒泡排序算法
137 0
|
存储 算法 搜索推荐
C# 入门算法“冒泡排序“ 升序 降序 最大值 最小值 平均值
C# 入门算法“冒泡排序“ 升序 降序 最大值 最小值 平均值
|
搜索推荐 C#
C#冒泡排序算法
C#冒泡排序算法
192 0
C#冒泡排序算法
|
算法 C#
C#之冒泡排序
C#之冒泡排序
79 0
|
算法 搜索推荐 C#
【愚公系列】2021年11月 C#版 数据结构与算法解析(交换排序-冒泡排序)
【愚公系列】2021年11月 C#版 数据结构与算法解析(交换排序-冒泡排序)
198 0
【愚公系列】2021年11月 C#版 数据结构与算法解析(交换排序-冒泡排序)