zoukankan      html  css  js  c++  java
  • 插入排序和希尔排序的比较

      希尔排序在一定程度是直接插入排序的升级,二者均需要选择一个靶向元素。直接插入比较适合一些较为有序的长度较小的序列。

    直接插入排序代码实现:

      void insertsort(int arr[],int len)

    {

    for(p = 1;p < len;p++){

      temp = arr[p]

      for(j = p;j > 0 && arr[j-1] > temp;){

        arr[j] = arr[j-1];

        arr[j-1] = temp;

      } 

     }

    }

    希尔排序代码实现:

      void shellsprt(int arr[],int len)

    {  

      int gra;

      for(gra = len/2;gra > 0;gra /=2){//用这个循环来控制步长

       for(k = gra;k < len;k++){

            temp = arr[j]

            for(j = k;j > 0 && arr[j -1] > temp;j -= gra){//找到与其配对的元素

              arr[j] = arr[j-1];

              arr[j-1] = temp;

          }  

        }

      }

    }

    在一定程度上希尔排序就是在直接插入排序的基础上加上一个步长。

    笨鸟先飞
  • 相关阅读:
    手机号/身份证加星处理
    手机号,邮箱等验证表达式
    导入Excel工具类
    ajax 跨域的解决 cors
    centos7 防火墙命令
    redis 常见问题总结
    数据库(1)
    设计模式和常用的设计模式
    mvc 模式 与各部分的实现
    线程基础(1)
  • 原文地址:https://www.cnblogs.com/zoutingrong/p/12173884.html
Copyright © 2011-2022 走看看