在开发中遇到一个非常诡异的问题:我用vector存储了一组数据,然后调用sort方法,利用自定义的排序函数进行排序,但是一直都会段错误,在排序函数中打印参加排序的值,发现有空值,而且每次都跟同一个数据排序,非常诡异。数据本身没有问题,换一组数据,甚至是在不能排序的那组数据中增删一些数据,sort又正常了。。。

我把出现这种现象的数据贴出来,大神们感兴趣可以分析一下,究竟是为什么:

2016-05-10 00:28:00.0|2016-05-10 01:00:00.0|02000006000000071605091559004526|NAME|02000000000000050000000000000055|NAME
2016-05-10 00:27:00.0|2016-05-10 00:54:00.0|02000000000000071605071617500023|NAME|02000000000000050000000000000110|NAME
2016-05-10 00:27:00.0|2016-05-10 00:30:00.0|02000000000000071605091739500000|NAME|02000000000000050000000000000057|NAME
2016-05-10 00:28:00.0|2016-05-10 00:42:00.0|02000000000000071605091719500002|NAME|02000000000000050000000000000095|NAME
2016-05-10 00:27:00.0|2016-05-10 01:09:00.0|02000000000000071605070313500002|NAME|02000000000000050000000000000097|NAME
2016-05-10 00:29:00.0|2016-05-10 01:13:00.0|02000006000000071605091559003907|NAME|02000000000000050000000000000069|NAME
2016-05-10 00:26:00.0|2016-05-10 00:51:00.0|02000000000000071605070233500008|NAME|02000000000000050000000000000085|NAME
2016-05-10 00:25:00.0|2016-05-10 01:50:00.0|02000000000000071605071615500023|NAME|02000000000000050000000000000103|NAME
2016-05-10 00:24:00.0|2016-05-10 01:17:00.0|02000000000000071605070150500005|NAME|02000000000000050000000000000087|NAME
2016-05-10 00:28:00.0|2016-05-10 01:00:00.0|02000000000000071605081217500028|NAME|02000000000000050000000000000152|NAME
2016-05-10 00:25:00.0|2016-05-10 01:19:00.0|02000006000000071605091600000048|NAME|02000004000000052015081800000002|NAME
2016-05-10 00:28:00.0|2016-05-10 01:00:00.0|02000006000000071605091137006302|NAME|02000004000000052014070200000009|NAME
2016-05-10 00:24:00.0|2016-05-10 01:13:00.0|02000006000000071605091559009874|NAME|02000004000000052015051500000004|NAME
2016-05-10 00:29:00.0|2016-05-10 01:13:00.0|02000006000000071605091559003493|NAME|02000004000000052016021800000003|NAME
2016-05-10 00:28:00.0|2016-05-10 01:00:00.0|02000006000000071605091559004316|NAME|02000006000000052015012300000005|NAME
2016-05-10 00:28:00.0|2016-05-10 00:42:00.0|02000000000000071605091717500001|NAME|02000000000000050000000000000470|NAME
2016-05-10 00:25:00.0|2016-05-10 01:19:00.0|02000006000000071605091600000169|NAME|02000001000000050000000000000008|NAME
2016-05-10 00:25:00.0|2016-05-10 00:30:00.0|02000006000000071605091559006266|NAME|02000001000000052014112600000001|NAME
2016-05-10 00:25:00.0|2016-05-10 01:19:00.0|02000006000000071605091137010811|NAME|02000004000000052014070300000001|NAME
2016-05-10 00:25:00.0|2016-05-10 01:15:00.0|02000006000000071605091600001812|NAME|02000001000000050000000000000009|NAME
2016-05-10 00:26:00.0|2016-05-10 00:38:00.0|02000006000000071605091137009746|NAME|02000001000000050000000000000388|NAME
2016-05-10 00:27:00.0|2016-05-10 01:07:00.0|02000006000000071605091559009598|NAME|02000004000000052015051500000015|NAME
2016-05-10 00:29:00.0|2016-05-10 01:13:00.0|02000006000000071605091559003286|NAME|02000004000000052016021800000004|NAME
2016-05-10 00:25:00.0|2016-05-10 01:19:00.0|02000006000000071605091137010690|NAME|02000001000000050000000000000375|NAME
2016-05-10 00:29:00.0|2016-05-10 00:36:00.0|02000006000000071605091137012374|NAME|02000001000000050000000000000384|NAME
2016-05-10 00:27:00.0|2016-05-10 00:30:00.0|02000000000000071605091719500015|NAME|02000000000000050000000000000473|NAME
2016-05-10 00:29:00.0|2016-05-10 01:13:00.0|02000006000000071605091559003700|NAME|02000004000000052016022200000002|NAME

排序的结果应该如下,但是sort不出来:

2016-05-10 00:24:00.0, 2016-05-10 01:13:00.0, 02000006000000071605091559009874, 02000004000000052015051500000004
2016-05-10 00:24:00.0, 2016-05-10 01:17:00.0, 02000000000000071605070150500005, 02000000000000050000000000000087
2016-05-10 00:25:00.0, 2016-05-10 00:30:00.0, 02000006000000071605091559006266, 02000001000000052014112600000001
2016-05-10 00:25:00.0, 2016-05-10 01:15:00.0, 02000006000000071605091600001812, 02000001000000050000000000000009
2016-05-10 00:25:00.0, 2016-05-10 01:19:00.0, 02000006000000071605091600000048, 02000004000000052015081800000002
2016-05-10 00:25:00.0, 2016-05-10 01:19:00.0, 02000006000000071605091600000169, 02000001000000050000000000000008
2016-05-10 00:25:00.0, 2016-05-10 01:19:00.0, 02000006000000071605091137010811, 02000004000000052014070300000001
2016-05-10 00:25:00.0, 2016-05-10 01:19:00.0, 02000006000000071605091137010690, 02000001000000050000000000000375
2016-05-10 00:25:00.0, 2016-05-10 01:50:00.0, 02000000000000071605071615500023, 02000000000000050000000000000103
2016-05-10 00:26:00.0, 2016-05-10 00:38:00.0, 02000006000000071605091137009746, 02000001000000050000000000000388
2016-05-10 00:26:00.0, 2016-05-10 00:51:00.0, 02000000000000071605070233500008, 02000000000000050000000000000085
2016-05-10 00:27:00.0, 2016-05-10 00:30:00.0, 02000000000000071605091739500000, 02000000000000050000000000000057
2016-05-10 00:27:00.0, 2016-05-10 00:54:00.0, 02000000000000071605071617500023, 02000000000000050000000000000110
2016-05-10 00:27:00.0, 2016-05-10 01:07:00.0, 02000006000000071605091559009598, 02000004000000052015051500000015
2016-05-10 00:27:00.0, 2016-05-10 01:09:00.0, 02000000000000071605070313500002, 02000000000000050000000000000097
2016-05-10 00:28:00.0, 2016-05-10 00:42:00.0, 02000000000000071605091719500002, 02000000000000050000000000000095
2016-05-10 00:28:00.0, 2016-05-10 00:42:00.0, 02000000000000071605091717500001, 02000000000000050000000000000470
2016-05-10 00:28:00.0, 2016-05-10 01:00:00.0, 02000006000000071605091559004526, 02000000000000050000000000000055
2016-05-10 00:28:00.0, 2016-05-10 01:00:00.0, 02000000000000071605081217500028, 02000000000000050000000000000152
2016-05-10 00:28:00.0, 2016-05-10 01:00:00.0, 02000006000000071605091137006302, 02000004000000052014070200000009
2016-05-10 00:28:00.0, 2016-05-10 01:00:00.0, 02000006000000071605091559004316, 02000006000000052015012300000005
2016-05-10 00:29:00.0, 2016-05-10 00:36:00.0, 02000006000000071605091137012374, 02000001000000050000000000000384
2016-05-10 00:29:00.0, 2016-05-10 01:13:00.0, 02000006000000071605091559003907, 02000000000000050000000000000069
2016-05-10 00:29:00.0, 2016-05-10 01:13:00.0, 02000006000000071605091559003493, 02000004000000052016021800000003
2016-05-10 00:29:00.0, 2016-05-10 01:13:00.0, 02000006000000071605091559003286, 02000004000000052016021800000004
2016-05-10 00:29:00.0, 2016-05-10 01:13:00.0, 02000006000000071605091559003700, 02000004000000052016022200000002

现在只好自己写了一个排序的方法来手动排序,还好每组数据的数据量不大,对效率的要求并不是很高。

发现一个c++ vector sort的bug的更多相关文章

  1. 我通过调试ConcurrentLinkedQueue发现一个IDEA的小虫子(bug), vscode复现, eclipse毫无问题

    前言: 本渣渣想分析分析Doug Lea大佬对高并发代码编写思路, 于是找到了我们今天的小主角ConcurrentLinkedQueue进行鞭打, 说实话草稿我都打好了, 就差临门一脚, 给踢折了 直 ...

  2. 踩坑,发现一个ShardingJdbc读写分离的BUG

    ShardingJdbc 怎么处理写完数据立即读的情况的呢? 写在前面 我本地使用了两个库来做写库(ds_0_master)和读库(ds_0_salve),两个库并没有配置主从. 下面我就使用库里的 ...

  3. 发现一个FreeSWITCH bug

    在研究FreeSWITCH视频会议的混屏问题时候发现一个bug. 已提交jira. 附上代码,问题很明显,不解释 =========================================== ...

  4. [转] C++的STL库,vector sort排序时间复杂度 及常见容器比较

    http://www.169it.com/article/3215620760.html http://www.cnblogs.com/sharpfeng/archive/2012/09/18/269 ...

  5. STL vector+sort排序和multiset/multimap排序比较

    由 www.169it.com 搜集整理 在C++的STL库中,要实现排序可以通过将所有元素保存到vector中,然后通过sort算法来排序,也可以通过multimap实现在插入元素的时候进行排序.在 ...

  6. 一个Dotnet数据框架的bug

    好久没写C#代码了,今天在维护公司老项目时,偶然发现一个BUG.记录一下,后面的同学就不要踩坑啦. -------------------------------------------------- ...

  7. 记录一个chrome 65渲染的bug

    前段时间发现一个chrome 65+的BUG(chrome已更新到66,BUG仍然存在),一个元素同时使用了以下样式(失去焦点和css3的Z轴平移0deg),渲染异常 /*bug style*/ fi ...

  8. 一个历时五天的 Bug

    一个程序员在没有成长成为架构师之前,几乎都要跟 Bug为伴,程序员有很多时间都是花在了查找各种 Bug上. 我印象深刻的一个Bug, 是一个服务器网络框架无锁队列的 Bug .那个 Bug 连续查找了 ...

  9. 翻了翻element-ui源码,发现一个很实用的指令clickoutside

    前言 指令(directive)在 vue 开发中是一项很实用的功能,指令可以绑定到某一元素或组件,使功能的颗粒度更精细.今天在翻 element-ui 的源码时,发现一个还挺实用的工具指令,跟大伙分 ...

随机推荐

  1. 关于手动关闭BootStrap模态框

    在网上找手动关闭BootStrap模态框的解决方法,说是(需要引用bootstrap.js等): $("#myModal").modal('hide'); 但是我发现我的只能关闭 ...

  2. 用angular实现$.param()

    首先介绍一下$.param() 功能: 序列化对象或数组,返回字符串 eg: var params = { width:1900, height:1200 }; var str = jQuery.pa ...

  3. centos7下安装JDK 1.7

    选则64位的rpm包下载:jdk-7u25-linux-x64.rpmrpm –ivh 'jdk安装包路径' 环境变量配置 # exportJAVA_HOME=<jdk-install-dir& ...

  4. 安装CocoaPods流程及常见问题(Xcode->homebrew->RVM->Ruby->CocoaPods)

    一.HomeBrew 1.(转)HomeBrew的安装和简单使用 http://blog.csdn.net/maojudong/article/details/7918291 2.homebrew的简 ...

  5. openstack私有云布署实践【4.1 上层代理haproxy配置 (科兴环境)】

    官方文档上的高可用配置,它推荐的是使用haproxy的上层代理来实现服务组件的主备访问.或者负载均衡访问   一开始我也是使用haproxy来做的,但后来方式改了   测试环境:haproxy + n ...

  6. CentOS6.2编译gcc失败,kernel-headers错误

    准备转移到阿里云服务器,用的CentOS6.2 x64,虚拟机上用的 6.3版本,测试重装了好几次都没问题了,结果在云服务器上刚开始就出问题了... yum 安装的时候居然出错了,靠...网上 goo ...

  7. 实验吧Web-天网管理系统

    笔记 == : 比较运算符号  不会检查条件式的表达式的类型 ===:  恒等计算符 , 同时检查表达式的值与类型.(会检查表达式类型,如bool) PHP序列化与反序列化serialize() 对输 ...

  8. ggplot2 theme相关设置—线条设置

    在ggplot的主题射中有一部分图需要对图中的部分线条进行设置 element_line(colour = NULL, size = NULL, linetype = NULL, lineend = ...

  9. Markdown - Github specific

    这篇文章的内容,必须到github的页面才能全部生效. Github specific Github allows for mistakes There are also Tables in gith ...

  10. Adobe Acrobat Pro 9破解

    (转载,Window8.1/64bit系统亲测可用) 1.删除C:\Program Files\Common Files\Adobe\Adobe PCD\cache\cache.db和C:\Docum ...