当前位置: 首页 > 我的程序代码
  • 双向链表list.h升序排序

    双向链表list.h升序排序

    前一篇文章《整理一个双向链表list.h》介绍了自实现的双向链表list.h,在Linux内核中,常见的是维护全局链表(如i2c板级有一个全局链表),基本上都是在尾部插入、模块退出时删除,不会涉及到链表中间插入、删除,——这也让我一度认为该链表的实现只具备这些“少许”功能。当然,如果抛开内核场合,其它场合可能会需要到更多的功能,所以前文中做了介绍。这里就说一下如何将链表做成升序(或降序)排列的。

    作者:李迟 | 发布:2016-10-20 20:45 | 分类:我的程序代码 | 阅读:130 次 | 标签:, | 评论:无评论
  • 整理一个双向链表list.h

    整理一个双向链表list.h

    一直觉得Linux内核的双向链表是十分巧妙的设计,它的实现方式与数据结构课程上讲的完全不同。内核list实现依赖于GCC的扩展,在其它平台不一定能正常运行。在内核中,一般是结构体中使用链表成员,而不是像数据结构课那样在链表结构体中使用数据域。C++中将lsit作为模板,能应用于各种类型数据上,但Linux内核无法使用,因而使用其它手段实现,方便扩展。事实上,内核大量结构体都使用了list。网上有很多关于此方面的介绍,就不展开说了。

    作者:李迟 | 发布:2016-10-19 20:32 | 分类:我的程序代码 | 阅读:121 次 | 标签:, | 评论:无评论
  • 心血来潮,小试c++11

    心血来潮,小试c++11

    今天心血来潮,尝试玩一下c++11。话说这个标准都发布好几年了,c++14都出来了,c++17也快生出来了,还是赶紧摸一下c++11。本文使用实际业余工程使用到的代码片段,参考文章《stl::vector排序二例》。

    作者:李迟 | 发布:2016-08-02 22:09 | 分类:我的程序代码 | 阅读:168 次 | 标签:, | 评论:无评论
  • stl::vector排序二例

    stl::vector排序二例

    stl提供了sort排序,针对vector可以很方便地进行指定的排序。本文给出两个例子,一个是针对结构体(类)某个成员的排序;另一个针对分辨率排序。

    作者:李迟 | 发布:2016-06-21 22:30 | 分类:我的程序代码 | 阅读:197 次 | 标签: | 评论:无评论
  • 使用STL去除std::vector自定义结构体重复项

    使用STL去除std::vector自定义结构体重复项

    最近搞了一个小东西要去除一个vector中重复的项。是这样的:我用组播搜索设备,得到设备IP信息、版本号信息,等,但有时会接收到多个相同IP设备的信息,因此要过滤掉重复的IP。我使用vector存储每台设备信息,包括IP、版本号,因此需要使用结构体。另外,要对这些设备IP进行排序,让其IP顺序排列。

    作者:李迟 | 发布:2016-06-09 22:35 | 分类:我的程序代码 | 阅读:287 次 | 评论:无评论
  • BMP图片读写接口函数

    BMP图片读写接口函数

    我很早就学习了BMP位图。印象中,那时应该是在研究AVI视频文件格式时顺便研究的,或者是研究YUV转RGB时顺便研究的。但未写文章出来,我一直以为我的学习只有在发表了文章才算是完结,否则不能算是我做过了这个事。在这里补上当初读、写BMP的函数代码。

    作者:李迟 | 发布:2015-07-09 23:12 | 分类:我的程序代码 | 阅读:1,020 次 | 标签: | 评论:无评论