zoukankan      html  css  js  c++  java
  • 排序思想

    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

  • 相关阅读:
    3.1.3、控制结构
    3.1.2、变量
    3.1.1、渲染模板
    3.1、Jinja2模板引擎
    第3章 模板
    2.6、Flask扩展
    2.5.4、响应
    2.5.3、请求钩子
    2.5.2、请求调度
    2.5.1、程序和请求上下文
  • 原文地址:https://www.cnblogs.com/Ilin631/p/2051298.html
Copyright © 2011-2022 走看看