[学习笔记]双向链表

什么是双向链表呢?其实就是在单链表的基础上添加了小功能,即每个结点不仅有后驱指针域,同时增加了前驱指针域,这样查找数据就更加方便了,比如说当前结点是头结点,如果是要指向尾结点的话就只需要我们把头结点的前驱指针域指向尾结点,这样就可以直接指向尾结点,时间复杂度就为O(1),不过也带来了弊端,即增加了空间的消耗,不过有时候空间换时间还是值得的不是.

同时我们依旧可以使用头结点,跟循环单链表不同,因为结点多了一个前驱指针域,所以使用头指针时增删头,尾结点是可行的,当然,尾指针也一样可以使用,原因相同

- 全文阅读 -

30岁之前不要在乎的29件事

微盘中无意看到,有些观念比较赞同,遂收藏.因不知来源,原作者看到请告知我,我好加上来源链接:)

1、漂泊

漂泊不是一种不幸,而是一种资格。趁著没有家室拖累,趁著身体健康,此时不飘何时飘?

2、稳定   

三十岁之前就在乎稳定的生活,那只有两种可能,要么就是中了彩票,要么就是未老先衰。

3、评价

- 全文阅读 -

[学习笔记]循环链表

前面复习了单链表,接着复习循环链表.这里以单链表做示范.

什么是循环链表呢?一般的链表中尾结点的next指向的是NULL值,如果我们现在指向最后一个结点,当我们需要指向第一个结点时就只有重新从头结点开始,浪费了时间,现在我们把尾结点的next指向头结点,这样EndNode->next就是FirstNode的地址了不是?这就叫循环链表.

<<大话>>中说循环链表中不用头指针了,改为尾指针,即它的next值指向尾结点而非头结点.这样Header->next->next就是头结点了,确实很方便,但是依旧用头指针可以吗?我们首先来看下,如果头指针依旧指向头结点,那么我们会发现,如果我们在一个链表处插入一个新的头结点,那么按照循环链表的定义来说,我们应该让尾结点指向这个新的头结点,但是问题出来了,尾结点的内存地址是多少呢?不知道.同样的,如果删除头结点也会出现这个问题.因此,循环链表不用头指针而改用尾指针就解决了这个问题.这也是我自己在练习的时候发现的,困扰我的问题也就迎刃而解了.

- 全文阅读 -

[学习笔记]重新学习数据结构

数据结构其实去年3月份左右就开始自学,一直学到了二叉树,至于为什么要重头再来,有以下2个原因:

1.去年学的时间准确来说是3月份到6月份,说实话,学的并不好,基本上都没有动手敲过代码,对,没有任何代码,只是基于<<大话>>上的代码自己分析了下 懂了其原理,然一个程序员只有动手实践了后才能有更深的体会,其二因为某些原因暑假去了某工厂当暑假工,那种完全的资本主义剥削的工厂,所以每天真的没有什么时间来继续学习,所以暑假做的也只是趁每天午休半小时的时候啃完了英文版的<<C traps and pitfalls>>,其它的根本找不到时间,时间一久,很多东西就忘记了.而付出的代价就是开学后把<<C primier Plus>>,<<Pointers on C>>重新啃了一遍.数据结构?说实话,基本忘记了.
2. 一个伟大的程序猿的基础肯定是好的,而我却连数据结构都没自学完(指的是基本的链表,图,树,查找等基本知识,非精通,请勿钻牛角尖用诸如"我学了10年C语言都不敢说学完"之类的话来吐槽我,谢谢:)),同时在学习数据结构的时候深深被那些东西给吸引了,它的魅力,恩,允许我这么说(事实上也确实是)而再写了一些小东西的时候更觉如此.

- 全文阅读 -

[学习笔记]顺序存储结构和单链表

恩,<<大话数据结构>>第三章啃完了,做下笔记,一是回顾,二是自己写下代码练下手感,毕竟还是那句老话"无它,唯手熟尔"不是

首先是线性表(List)的定义:

定义:0个或者多个数据元素组成的有限序列.(注意"有限"这个词)

抽象数据类型:

1.每个元素类型都为DateType
操作
    1.初始化线性表
    2.检测现行是否为空
    3.清空线性表
    4.取得线性表上某个元素的值
    5.查找线性表上某个元素的值
    6.将某个元素插入线性表
    7.删除线性表上某个元素
    8.检测线性表的元素个数

线性表的思维导图:

- 全文阅读 -

Flappy Bird for PC V1.0游戏源码及思路

寒假啃完了P先生的《Windows Programing 5th》,接下来准备鼓捣下网络的知识以及数据结构,正逢此游戏正火,便拿它来作为暂时告别win32skd的纪念吧。当初知道这个游戏的时候就觉得是一个非常简单的游戏,结构简单,基本没有什么算法。然而正式开始写的时候却一波三折。以下是我的相关情况

游戏成品:http://pjf.name/post-106.html

游戏进度:

2月27日:

google相关图片和声音资源,抠图,ps等,同时下载了该手机游戏反复玩来查看游戏的玩法和规则以及相应的处理方法。

- 全文阅读 -

Flappy Bird for PC V1.0

游戏名称:Flappy Bird for PC

版本:V1.0

简介:仿照阮哈东的Flappy Bird写的,游戏玩法都差不多,有兴趣的自己下载吧

玩法:游戏中空格键控制小鸟向上飞

- 全文阅读 -