时间规划[2014.3-2014.7]

总感觉时间安排不恰当,趁着周末,把我每天的时间细算了一下,初步做了个时间规划,暂时试用一周,下周再进一步优化,希望我的效率能够更上一层楼

总时间{8:00-24:00,Total:24h}
{
    固定支出:5h//每天必做的事情
    {
        1.午餐:12:00-12;30,共计30min;
        2.晚餐:17:00-17:30,共计30min;
        3.晚归洗漱:22:00-22:30,共计30min;
        4.听VOA:23:00-24:00,共计1h;
        5.写日记:21:30-22:00,共计30min;
        6.阅读:共计1h;
        7.早读:8:00-9:00,共计1h;
    }
    机动时间:2h;//为突发事情等留出空闲
    剩余时间:9h//剩下用来自学的时间
    {
        学习内容:1.数据结构;2.Windows网络编程;3.phthon自学;
        学习内容时间分配比例:6:3:1;
        分配情况:5.5h,2.5h,1h;//各自时间中包含中途上厕所,接热水时间
    }
}

根据以上情况,初步安排如下:

- 全文阅读 -

[学习笔记]循环队列和队列的链式结构

先来说下队列.其实就是线性表的变种.遵循先进先出,即删除数据的位置为头结点,新增数据的位置为尾结点.恩,就是这么简单...

好了,按照在线性表的顺序存储我们知道了如果我们删除一个数据的话那么时间复杂度为0(N),既然我们现在知道了我们每次删除的都是头结点,咱们定义一个int性的front来存储头结点的下标,那么我们的复杂度就是0(1)了不是,增加数据也就简单了,搞一个int型的rear来存储尾结点的下标,然后增加数据的时间复杂度也为0(1)了,Wow,cool...但是...咱们就想了啊,如果加入在一个可以存储10个数据的队列里,先一口气插入了10个数据,接下来,我们删除前9个数据,那么现在front和rear的值都是9了对不对,好了,我们再新增一个数据,额,都到了数组末尾了,sorry.不能新增了...可是...可是...前面空了9个位置啊亲!咋就不能灵活点嘛!于是乎就有了循环队列.即rear到达了数组末尾的时候再新增数据rear值移到0即数组开头不就行了!好了,有个问题又来了,咱们如何判断队列是满了呢?当rear==front的时候?嘿嘿,那你估计一辈子都插不进数据了,咱们刚开始的时候不是rear就等于front嘛...那咱们再设一个bool型的flag,初始化的时候flag=0表示队列空,然后当满的时候flag设置为1,这样不就解决了问题了嘛,赞一个,确实可以如此,不过也可以这样,那就是咱们留一个位置来不放数据,即(rear+1)%MAXSIZE==Front的时候表示队列满了.ok,上数据结构和代码:

- 全文阅读 -

win32宽字符串处理

国际化还是要UNICODE,不过跟ANSII有些不同,找了些资料.

字符串长度:

WINAPI lstrlenW(LPCWSTR lpString);//(不计算字符串末尾的null)

字符串合并:

LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPWSTR lpString2);//第一个参数是可以存储两个字符串的缓冲区,空间的大小至少要能存储两个需要合并的字符串,包括null终止符。函数返回指向该缓冲区的指针。

字符串转换:

- 全文阅读 -

[学习笔记]链栈及栈的应用

既然栈就是线性表,那么同样的也可以用链表的形式来表示,当然用链表表示的栈有一个学名,曰:链栈.

不过跟链表还是有一些不同,比如说头结点不用了,比如说,咱们得单独鼓捣一个结构体来保存栈顶的地址.好了,其它没什么,用代码说话吧

数据结构:

typedef struct Node{
    char Data;
    struct Node *next;
}*TopStack;

typedef struct {
    int Count;
    TopStack Top;
}TopPointer;

1.初始化:

- 全文阅读 -

一道IQ题引发的思考

微博中看到某友转发一智力IQ题,曰:

小明点了8根蜡烛,风吹灭了3根,然后又被吹灭了2根,为了让其不再被吹灭,小明关住了窗户,蜡烛就没吹灭了!!!问:蜡烛最后还能剩多少根???

- 全文阅读 -

[学习笔记]栈的顺序存储结构及共享栈空间

栈的定义:其实就是线性表.只不过这个线性表遵循"后进先出"的原则.也就是我们插入和删除操作都动最后一个结点.同时我们在线性表中的插入和删除操作给换个一个马甲,它们额马甲号分别叫做push(压栈,进栈)和pop(出栈,弹栈).线性表弄懂了这个就很简单了.

当然了,栈也有顺序存储结构和链式结构.看下栈的顺序存储结构.

数据结构:

typedef struct{
    char Data[MAXSIZE];//用来存储数据
    int Top;//记录栈顶的下标
}SqStack;//栈顺序存储结构数据结构

- 全文阅读 -

[学习笔记]静态链表

说明:这几天有点忙,本来前几天就应该写了的推迟到了今天.

写在前面的话:如果您读到此文,请允许我理解你已经学习了该部分知识,只是对此知识点有不解才被搜索引擎指到这里.如果不是,请自己去看相关数据结构知识.抱歉本文帮不到你:)

首先,什么是静态链表呢?我自己的话说就是为那些没有指针的语言设计的"链表"这种数据结构.其思想就是运用了一维结构数组(当然N维也可以),该结构内不仅有数据域,同时还用一个int型来保存我们的next值,即下一个数据的下标.这样就可以模拟出链表的结构了.这样增删数据的时间复杂度就为O(1)了.因为这个数组的长度是事先规定好了的,不能更改,所以才有了静态链表这个名字.在Weiss的<<数据结构与算法---C语言实现>>里面称此法为游标实现法.

- 全文阅读 -