• 排序思想


    1冒泡算法思想:

    在要排序的一组数中,对当前还未排好序的范围内的全部数,自上
     而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较
     小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要
     求相反时,就将它们互换。


    2选择排序思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;
     然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环
     到倒数第二个数和最后一个数比较为止。 

     3插入排序

    每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。

    4快速排序

    在当前无序区R[1..H]中任取一个数据元素作为比较的"基准"(不妨记为X),用此基准将当前无序区划分为左右两个较小的无序区:R[1..I-1]和R[I+1..H],且左边的无序子区中数据元素均小于等于基准元素,右边的无序子区中数据元素均大于等于基准元素,而基准X则位于最终排序的位置上,即R[1..I-1]≤X.Key≤R[I+1..H](1≤I≤H),当R[1..I-1]和R[I+1..H]均非空时,分别对它们进行上述的划分过程,直至所有无序子区中的数据元素均已排序为止。
    2. 排序过程:
    【示例】:
    初始关键字 [49 38 65 97 76 13 27 49]
    第一次交换后 [27 38 65 97 76 13 49 49]
    第二次交换后 [27 38 49 97 76 13 65 49]
    J向左扫描,位置不变,第三次交换后 [27 38 13 97 76 49 65 49]
    I向右扫描,位置不变,第四次交换后 [27 38 13 49 76 97 65 49]
    J向左扫描 [27 38 13 49 76 97 65 49]
    (一次划分过程)


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mimicimim/archive/2007/10/11/1820433.aspx

  • 相关阅读:
    全排列
    06-联系人管理(xib应用)
    单键模式
    在mac上截屏的几种方式
    05-Tom猫(UIImageView的简单运用)
    04-图片排列切换
    03-图片浏览器(plist的简单应用)
    02-动态创建按钮
    01-实现图片按钮的缩放、动画效果(block的初步应用)
    oracle 监听动态和静态的配置
  • 原文地址:https://www.cnblogs.com/Ilin631/p/2051298.html
Copyright © 2020-2023  润新知