在开发中遇到一个非常诡异的问题:我用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. HDU 5033 Building(单调栈)

    HDU 5033 Building(单调栈) 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5033 Description Once upon a ti ...

  2. HDU 4291 A Short problem(2012 ACM/ICPC Asia Regional Chengdu Online)

    HDU 4291 A Short problem(2012 ACM/ICPC Asia Regional Chengdu Online) 题目链接http://acm.hdu.edu.cn/showp ...

  3. css3实现进度条

    HTML 结构很简单,但不是 Single Element: <div class="spinner"><i></i></div> ...

  4. modelsim+win环境下systemverilog调用c函数

    最近为了验证一个ip,需要将ip的输出数据与c model的数据比对,之前采用的是将仿真结果输出,用perl读取结果,与c的输出结果比对,这样做也可以,但是在做遍历测试时,由于数据量较大,就显得不方便 ...

  5. Hadoop-2.6.0安装文档

    前段时间在dataguru上报了一个hadoop的培训班,希望能够帮助自己更快的了解.掌握并且熟悉hadoop的开发和原理. 上一期的作业是要自己搭建一个hadoop的环境,并能运行mapreduce ...

  6. java之String类型

    一:定义 String是复杂类型,是特殊的复杂类型. 二:创建 两种创建形式: String s = "abc"; String s = new String("abc& ...

  7. ASP_Login

    ===第一种============================================================================================== ...

  8. ZZNU 1992: 情人节的尴尬

    题目描述 情人节这不刚过去没多久吗,我得给大家爆个料.这个事关于小飞飞的,小飞飞呢,要给她女票买礼物,但是呢有个比较尴尬的事情,小飞飞有些钱在某宝里,有些钱在某东里,众所周知,这俩可是死对头,想相互转 ...

  9. 《Android系统源代码情景分析》连载回忆录:灵感之源

    上个月,在花了一年半时间之后,写了55篇文章,分析完成了Chromium在Android上的实现,以及Android基于Chromium实现的WebView.学到了很多东西,不过也挺累的,平均不到两个 ...

  10. hadoop中,combine、partition、shuffle作用分别是什么?

    combine和partition都是函数,中间的步骤应该只有shuffle! combine分为map端和reduce端,作用是把同一个key的键值对合并在一起,可以自定义的.combine函数把一 ...