sbw Blog - 程序设计
  • 来源: 石博文博客 | 浏览: 4025 | 评论: 0 | 时间: 2014-03-22
    A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。 要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌。 请填写出所有符合要求的排列中,字典序最小的那个。 例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。
  • 来源: 石博文博客 | 浏览: 3391 | 评论: 0 | 时间: 2014-03-22
    如果要在n个数据中挑选出第一大和第二大的数据(要求输出数据所在位置和值),使用什么方法比较的次数最少?我们可以从体育锦标赛中受到启发。8个选手的锦标赛,先两两捉对比拼,淘汰一半。优胜者再两两比拼...直到决出第一名。
  • 来源: 石博文博客 | 浏览: 25465 | 评论: 26 | 时间: 2014-03-04
    Qt中的QListWidget可以实现一个列表,比如网页上经常出现的下拉列表框,其中一行就是一个ListItem,在添加时,常用的函数是QListWidget::addItem(QListWidgetItem * item),但这样只能添加QListWidgetItem这样的对象,如果想到像QQ等软件使用自定义的ListItem,一个简单的方法是自定义一个QWidget,然后使用QListWidget::setItemWidget(QListWidgetItem * item, QWidget * widget)来设置它的显示widget.
  • 来源: 石博文博客 | 浏览: 5760 | 评论: 0 | 时间: 2014-03-02
    对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
    00000
    00001
    00010
    00011
    00100
    请按从小到大的顺序输出这32种01串。
  • 来源: 石博文博客 | 浏览: 6632 | 评论: 0 | 时间: 2014-03-02
    利用字母可以组成一些美丽的图形,下面给出了一个例子:
    ABCDEFG
    BABCDEF
    CBABCDE
    DCBABCD
    EDCBABC
    这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
  • 来源: 石博文博客 | 浏览: 6036 | 评论: 0 | 时间: 2014-03-01
    由于在AndroidArm架构下不方便编译一些库,所以经常使用交叉编译的方法,在Windows或者Linux下面编译用于嵌入式Arm架构的库文件.由于交叉编译时各种参数设置非常多,所以石博文写了一个基本通用的小脚本,用于快速配置一些参数,实际使用时,还需要按编译需求和系统环境作一些修改.
  • 来源: 石博文博客 | 浏览: 12358 | 评论: 0 | 时间: 2014-02-16
    从QT5.1开始,就慢慢加入了对Android的支持,虽然在Android上一直是Java开发占大多数,但由于Qt的结构成熟,功能强大,笔者最近也尝试了一下Qt的嵌入式开发.Qt为手持设备提供了触摸事件,但必须显式的设置接收触摸事件,之后的事件捕获与绘图都和PC上面差不多了.
  • 来源: 石博文博客 | 浏览: 8274 | 评论: 0 | 时间: 2014-02-12
    在C++11中,加入了lambda表达式这个新特性,使用lambda表达式可以方便的创建出"匿名函数".在某个函数只在某处使用一次,又不想占用一个变量名时,就可以使用lambda函数来解决.但由于lambda表达式是个"新玩意儿",在实际代码中大量使用它,可能会使代码可读性降低,毕竟并不是所有人都精通c++,尤其它还是一个c++11的新特性.
  • 来源: 石博文博客 | 浏览: 20930 | 评论: 18 | 时间: 2014-02-10
    QR码是当前最流行的二维码之一,它具有可靠性高,识别速度快等特点.而qrencode则是一款由C语言(完全兼容C++)写成的一个QR码生成与解码的函数库.它以GNU LGPL协议发布,至今己有将近八年历史,是当前最常用的QR码识别函数库.
  • 来源: 石博文博客 | 浏览: 6985 | 评论: 0 | 时间: 2014-02-09
    QT对socket作了简单的封装,使得在Windows和Linux下都可以用相同的上层代码来写,不需要关心底层的实现.本文示例的是使用UDP协议进行的通信.
  • 来源: 石博文博客 | 浏览: 11542 | 评论: 0 | 时间: 2014-01-27
    Qt中的事件系统是没有鼠标左右键同时点击这个事件的,可能是为了可扩充性而保留的,不过通过继承Qt中的相关控件类并且重写鼠标的一些事件函数我们可以很方便的做出鼠标左右键同时点击这个事件.
  • 来源: 石博文博客 | 浏览: 9096 | 评论: 4 | 时间: 2014-01-21
    今天用QT写了个扫雷小游戏,界面和功能都是按照WindowsXp下面的winmine来做的,因为需要Press,Release和Click这些事件,索性我就用QPushButton来做的那些小方块,把它们的Text设为空,只显示Icon,并用QGridLayout来对它们布局.但我想在QGridLayout对Button进行Resize后重新得到Button的Size,问题就出现了,我获取到了640*480这个大小.
  • 来源: 石博文博客 | 浏览: 9399 | 评论: 2 | 时间: 2014-01-20
    SDL是用C语言写成的一套开源跨平台的游戏与多媒体函数库,它提供了各种非常丰富且强大的函数来控制窗口,声音图像等等...是跨平台游戏的首选开发平台,比如NeverBall这款3D平衡球游戏,还有最近Steam新出的StarBound都是基于SDL平台的作品.因为采用C语言使得SDL库的运行效率十分高,而且SDL能很方便的被开发者二次封装,笔者对SDL做了简单的封装并实现了一个贪吃蛇游戏.