杰克的个人博客

My head's under water, but I'm breathing fine.


  • 首页

  • 分类

  • 文章

  • 标签

  • 关于

设计模式(Design Patterns)- 工厂模式

发表于 2018-02-05   |   分类于 设计模式

写者正在学习设计模式,分享一些心得体会出来。

我所理解的设计模式就是程序员在软件开发过程中,总结出来的一种比较好的设计方法,或者说是编码技巧。多种设计模式表达了在多种特定场景下的设计方法。我会在介绍设计模式的时候,一般会给出常规方案和运用了设计模式这一技巧之后的方案。 通过比较来理解设计模式的益处。

今天我想介绍一下工厂模式:

  • 开始
  • 没有运用设计模式技巧的代码
  • 运用之后的代码
  • 总结
    阅读全文 »

Button事件 -- Android Dev Note

发表于 2017-04-23   |   分类于 安卓

前言


今天做的是一个简单的给按钮添加事件的功能。具体讲:点击“离开”按钮,弹出对话框确定是否要离开。而Java瞎看了看,没怎么学,解释可能不到位 见谅。

步骤:

  • 在布局中添加按钮
  • 在Activity类中添加对应到布局文件中的类变量
  • 添加一个事件添加函数
  • 在函数onCreate中调用
阅读全文 »

图的邻接矩阵存储和访问

发表于 2017-04-07   |   分类于 算法

前言

图是一种非线性的数据结构(数组、链表就是线性的数据结构)。而我们现在要学习一下这种不是线性的数据结构。
生活中有很多图的例子,比如说城市1和城市2之间有一条通路,城市2和城市3之间也有一条通路,城市1和城市3之间也有一条通路,如下图

阅读全文 »

填充算法与curses油漆桶

发表于 2017-04-06   |   分类于 算法

我们都知道Windows的画图里面有个油漆桶工具,可以把选中的封闭区域都填充成自定义的颜色,这就是填充算法的应用。我在这里用Ncurses写成了一个小的填充算法的程序,看下图:

阅读全文 »

广度优先算法与NCurses迷宫

发表于 2017-04-05   |   分类于 算法

概述

广度优先算法也是一种图的遍历(挨个访问)算法。像在线性表中那样,在图 如果我们有这种挨个访问每个节点的能力,我们就具有了搜索的能力。这就是广度优先算法。

我在这里用ncurses字符图形库写成了一个广度优先算法的示例程序, ncurses部分的代码内容在深度优先算法里面有详细的解释。这里先粗略的感受一下广度优先算法的逻辑

阅读全文 »

深度优先算法和Ncurses - 迷宫

发表于 2017-04-02   |   分类于 算法

前言:

阅读此篇文章要求读者具有一些基础的ncurses库了解

深度优先算法是将各种情况分配一定的优先级,然后在某个问题出现的时候,选择优先级高的情况进行处理,特定情况下进行回退,选择优先级次之的情况进行尝试. 点击这里可以得到源码

我这里没有考虑没有出口的情况下,深度优先算法的行为结果。之后会有专门的研究文章。

阅读全文 »

C语言打印柱形图及排序过程演示

发表于 2017-04-01   |   分类于 C

我们今天来学习一个把数组元素打印成柱形图的技巧,结果如下:

                005 
            004 ### 
        003 ### ### 
    002 ### ### ### 
001 ### ### ### ### 
jack@alchemy:~/C$ 

思考过程

如果我们把一个数组的每个元素用柱形图的方式打印出来,里面的各个元素是

1, 2, 3, 4, 5

我们有一个平面直角坐标系,那么、坐标系里面的某个点的纵坐标意义就是这个点在某条垂直于y轴的直线上

一图胜千言:

阅读全文 »

快速排序和冒泡排序

发表于 2017-03-11   |   分类于 算法

前言:
并不能一文就解释清楚排序到底是怎么一回事,我所有几乎文章都需要和别的材料配合才比较容易产生理解。

推荐书目:

  • 《算法精解》
  • 《啊哈,算法》

主要内容:

  • 冒泡排序
    冒泡排序是一种比较简单的排序算法,容易用C语言写成也非常好理解, 但是它的时间效率不高。
  • 快速排序
    快速排序是常用的排序算法,时间效率高,而且算法简单,但是乍一看上去,是没有冒泡排序那么“粗浅”的, 我不是说冒泡排序粗浅。冒泡两个字已经非常有意思了。
阅读全文 »

C语言之贪吃蛇(ncurses)

发表于 2017-03-01   |   分类于 C

声明: 以下内容可能会引起某些读者不适, 请小心阅读. 有些内容并没有详细介绍, 可能简单理解也是错误的, 但是这都是为了尽量简单。

前言: 代码是很久之前写的,属于边想边写的那种,很混乱。

推荐材料:

  • NCURSES Programming HOWTO



贪吃蛇应该是我们这代人都玩过的游戏。而如果我们要写一个贪吃蛇最需要考虑的就是贪吃蛇是如何移动的。其实贪吃蛇的移动就是尾部的减少和头部的增加。
阅读全文 »

清晨

发表于 2017-02-27   |   分类于 风景

12
杰克

杰克

邮箱:coinsjack@126.com

16 日志
6 分类
26 标签
© 2018 杰克
由 Hexo 强力驱动
主题 - NexT.Muse