冒泡和快速排序

原创 2012年03月25日 16:30:01

也没专门去研究过排序。只是平常用过这两种和这两种的变形:冒泡和快速。收录一下用的时候直接Copy就OK。

 public class Method
    {
       public static void QuickSort(List<int> arrays, int low, int high)
        {
            int i = low;

            int j = high;

            if (low < high)
            {
                int key = arrays[low];

                while (i < j)
                {
                    while (i < j && arrays[j] > key)
                    {
                        j--;
                    }
                    if (i < j)
                    {
                        arrays[i] = arrays[j];
                        i++;
                    }
                    while (i < j && arrays[i] < key)
                    {
                        i++;
                    }
                    if (i < j)
                    {
                        arrays[j] = arrays[i];

                        j--;
                    }
                }

                arrays[i] = key;

                QuickSort(arrays, low, i - 1);

                QuickSort(arrays, i + 1, high);
            }
        }

        public static void Bubble(List<int> sortList)
        {
            if (sortList == null || sortList.Count <= 0)
            {
                return;
            }

            int flag = 1;

            int i, j;

            int itemCount = sortList.Count;

            int itemTemp;

            for (i = 1; i < itemCount && flag == 1; i++)
            {
                flag = 0;

                for (j = 0; j < itemCount - i; j++)
                {
                    int countfore = sortList[j];

                    int countback = sortList[j + 1];

                    if (countfore > countback)
                    {
                        flag = 1;

                        itemTemp = sortList[j];

                        sortList[j] = sortList[j + 1];

                        sortList[j + 1] = itemTemp;
                    }
                }
            }
        }
    }
版权声明:本文为博主原创文章,未经博主允许不得转载。

汇编实现排序——冒泡排序

冒泡排序算法的运作如下:(从后往前) 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的...
  • u010429311
  • u010429311
  • 2016年06月21日 23:20
  • 8228

排序算法之冒泡排序的思想以及Java实现

1 基本思想 设排序表长为n,从后向前或者从前向后两两比较相邻元素的值,如果两者的相对次序不对(A[i-1] > A[i]),则交换它们,其结果是将最小的元素交换到待排序序列的第一个位置,我们称它...
  • whq19890827
  • whq19890827
  • 2016年08月14日 21:12
  • 1390

Java List集合冒泡法排序的两种实现

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已...
  • u013751758
  • u013751758
  • 2014年11月10日 20:49
  • 2209

改进的冒泡排序算法

冒泡排序算法,是最基本的排序算法, 它属于交换排序。 冒泡排序过程 设想被排序的数组R[1..N]垂直竖立,将每个数据元素看作有重量的气泡,根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R,凡扫描...
  • tjunxin
  • tjunxin
  • 2013年03月23日 15:36
  • 25160

冒泡排序的优化及最好最差情况

最开始学习的时候并没有对其进行深入的思考,现在对其进行总结,冒泡排序的思想也就不需要赘述。 最开我们会将数列进行n-1趟排序,每趟又进行一个循环的冒泡,如果是升序,我们就会将相邻的两个元素进行比较...
  • qingqiulengya
  • qingqiulengya
  • 2016年06月05日 20:31
  • 2219

java将list集合冒泡排序

java将List集合进行冒泡排序。。。
  • xiaosheng_papa
  • xiaosheng_papa
  • 2015年01月05日 13:55
  • 4047

addEventListener的冒泡与捕获

通过addEventListener()方法为对象绑定的事件分为两种类型:冒泡和捕获,这是由函数的第三个参数决定的,默认为冒泡类型。为false时表示冒泡类型,为true时表示捕获类型。如果在多个对象...
  • QiuDW_01
  • QiuDW_01
  • 2015年08月01日 23:40
  • 1039

冒泡排序的改进

通常的冒泡排序         假设按照升序排序。         设数组大小为n;比较相邻的两个数,如果第一个大于第二个,则交换两个数据;这样,第一个排序后,比较了n-1次,最大的数在数组末尾。...
  • u013074465
  • u013074465
  • 2015年03月17日 11:32
  • 1447

c++实现冒泡排序

冒泡排序:依次比较相邻的数据,将小数据放在前,大数据放在后;即第一趟先比较第1个和第2个数,大数在后,小数在前,再比较第2个数与第3个数,大数在后,小数在前,以此类推则将最大的数"滚动"到最后一个位置...
  • jx232515
  • jx232515
  • 2016年05月31日 17:10
  • 5130

Js 冒泡事件阻止

Js 冒泡事件阻止 1. 事件目标 现在,事件处理程序中的变量event保存着事件对象。而event.target属性保存着发生事件的目标元素。这个属性是DOM API中规定的...
  • dx18520548758
  • dx18520548758
  • 2017年03月14日 11:17
  • 436
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:冒泡和快速排序
举报原因:
原因补充:

(最多只允许输入30个字)