文档章节

insertionsort

潜水的挖掘机
 潜水的挖掘机
发布于 2017/02/28 12:59
字数 131
阅读 11
收藏 0
//insertion sort 1
template<typename T>
void insertionsort_1(T arr[],int len)
{
    for(int i=1;i<len;++i)
    {
        for(int j=i;j>0;--j)
        {
            if(arr[j-1]>arr[j])
                swap(arr[j-1],arr[j]);//一次比较过程带来额外的三次赋值,待优化。
            else
                break;
        }
    }

}

//insertion sort 2
template<typename T>
void insertionsort_2(T arr[],int len)
{
    for(int i=1;i<len;++i)
    {
        T e=arr[i];
        int j=i;
        //向前寻找元素e的插入位置,若不满足条件,则将前面的元素向后摞。
        for(;j>0&&arr[j-1]>e;--j)
        {
            arr[j]=arr[j-1];
        }
        arr[j]=e;
    }

}

 

© 著作权归作者所有

共有 人打赏支持
上一篇: bublesort
下一篇: sed学习笔记
潜水的挖掘机
粉丝 0
博文 13
码字总数 3204
作品 0
运维
私信 提问
基本数据结构之Sort

问题描述: BubbleSort InsertionSort ShellSort MergeSort HeapSort QuickSort 问题分析: 时间复杂度? 空间复杂度? 代码实现: public class BubbleSort { public static <AnyType extends......

关西大汉弹琵琶
2015/10/25
148
0
我已经把形参声明为const,为什么定义数组时还是提示必须为常量值

如下: void InsertionSort::TaDirectInsertionSort(int unsortedarea[],const int length) { int sortedarea[length]; } 我已经把形参声明为const,为什么定义数组时还是提示必须为常量值...

林威
2012/12/15
420
2
选择、冒泡和插入排序

1、选择排序 public static void selectSort(int[] a) { for(int i=0;i<a.length-1;i++) { for(int j=i+1;j<a.length;j++) { if(a[i] < a[j]) { int temp = a[i]; a[i] = a[j]; a[j] = temp......

无异常-陌生
2014/03/12
68
0
插入排序 InsertionSort

#include <stdio.h> include <string.h> include <stdlib.h> void insertionSort(void base, sizet nmeb, sizet size, int(compar)(const void , const void *)); void swap(void p1, void p......

COSE
2014/04/08
0
0
算法分析(2)经典排序算法对比

[TOC] 概述 上一篇文章分析了一下基本的排序算法以及Java的实现,不过没有比较深入的去分析,因为对于O(n^2)的算法实现比较简单,但是对于O(nLogn)的算法本身有些复杂,所以就分为两篇文章来...

wustor
2017/11/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Beautiful Soup

定义 Python中的一个库,主要用于从网页爬取数据; 安装 pip install beautifulsoup4 四大对象 Beautiful Soup将复杂的HTML文档转换成树形结构,树中的每个节点都是Python对象,对象可归纳为...

村雨1943
11分钟前
0
0
Visual Studio 昨日发布新版本:增加实时同步编程、共同调试

多名开发者可以在同一个项目中编程,在编写代码和调试代码时只需发送一个 URL 网址,就能邀请他人参与协作,而且无需重新配置开发环境和安装任何附加包。该服务支持 Windows、Mac 与 Linux ...

linuxCool
14分钟前
0
0
发现一种不错的学习方法

这是在《软技能,代码之外的生存之道》所看到的一种学习方法,感觉这个理念不错,分享出来,共勉。 我的「十步学习法」 多年以来,我都承受着巨大的压力:快速学习新技术、新编程语言、新框架...

firepation
14分钟前
0
0
webpack4配置详解之常用插件分享

前言   继上一次webpack的基础配置分享之后,本次将分享一些工作中项目常用的配置插件、也会包含一些自己了解过觉得不错的插件,如有分析不到位的,欢迎纠错,嗯,这些东西文档都有,大佬可...

苏南-首席填坑官
31分钟前
4
1
升压变换器 Boost

工作特点 输入输出极性相同。 开关管 MOS 和负载构成并联,在MOS 导通时,电流通过 L 滤波,电源对 L 充电。 当 MOS 断开时,L 向负载及电源放电,输出电压将是 Ui+U L ,达到升压的目的。 ...

colinux
33分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部