摘要: 最近在复习数据结构,想把数据结构里面涉及的都自己实现一下,完全是用C语言实现的。自己编写的不是很好,大家可以参考,有错误希望帮忙指正,现在正处于编写阶段,一共将要实现19个功能。到目前我只写了一半,先传上来,大家有兴趣的可以帮忙指正,谢谢在vs2010上面编译运行无错误。每天都会把我写的新代码添加到这个里面。直到此链表完成。#include "stdafx.h"#include "stdio.h"#include <stdlib.h>#include "string.h"typedef int elemType ;/*** 阅读全文
posted @ 2011-08-20 21:37 Lee.Kevin 阅读(109628) 评论(37) 推荐(14) 编辑
摘要: 转自国外的一个网站,非常好的东西。国外的网址图片显示不全且不容易查看。加密问题。现在自己整理发上来以帮助网友和自己。Before we go over with this tutorial, I would like to thank everyone for reading my posts, for asking questions and for giving suggestions. Because of that, I will continue writing tutorials that might help other developers get rid of headach 阅读全文
posted @ 2012-04-16 15:41 Lee.Kevin 阅读(2337) 评论(0) 推荐(0) 编辑
摘要: 创建一个controller名为YKWebViewDemoViewController.h文件代码如下#import <UIKit/UIKit.h>@interface YKWebViewDemoViewController : UIViewController<UIWebViewDelegate>{ }@property (strong, nonatomic) UIWebView *webView;- (void)loadWebPageWithString:(NSString*)urlString;- (void)customAction1:(id)sender;- 阅读全文
posted @ 2012-04-11 18:45 Lee.Kevin 阅读(829) 评论(0) 推荐(0) 编辑
摘要: 在iphone程序中,属性合成中的retain/copy/assign有什么区别?1)assign就不用说了,因为基本上是为简单数据类型准备的,原子类类型,例如CGPoint、CGFloat等,而不是NS对象们;2)retain VS copycopy: 建立一个索引计数为1的对象,然后释放旧对象retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1Copy其实是建立了一个相同的对象,而retain不是:比如一个NSString对象,地址为0×1111,内容为@”STR”Copy到另外一个NSString之后,地址为0×2222,内容相同,新的对 阅读全文
posted @ 2012-04-09 10:36 Lee.Kevin 阅读(708) 评论(0) 推荐(0) 编辑
摘要: 写这篇日志居然已经是时隔三年了,还依稀记得刚上大学那会儿。。。时间飞逝啊,感慨万千。不是神马教程类文章,也不具有代表性,仅作为自己记录找工作过程的点滴。腾讯笔试+第一次面试24日上午10点到12点笔试,题目还算比较基础,涉及面比较广,数据结构,操作系统,数据库,网络,linux等是重点。一共三类题型,选择题(20个,每题3分)共60分,填空题(10个,每题4分),填写程序段缺失语句,基本都是算法。然后是选做题(有加分),还有JAVA WEB方向必须做的题。这个我面的是C/C++,所以没做。考试时间2个小时,基本在30分钟就答完了,但是有很多不会的就胡乱选择一通。交卷走人。24日下午6点收到短信 阅读全文
posted @ 2011-09-25 14:41 Lee.Kevin 阅读(1982) 评论(0) 推荐(0) 编辑
摘要: 温习一下C#基础知识。简要记录一下C#中对变量的初始化要求比较高,是为了安全考虑一般的编译器,只把变量的初始化当做是警告,而C#则当做错误。C#有两个方法可以确保变量在使用前进行初始化1.变量是类或结构体中的字段,如果没有显示的初始化,创建这些变量时,其值默认是02.方法的局部变量必须在代码中显示的初始化,之后才能在语句中使用它们的值。此时,初始化不是在声明变量时进行的,但编译器会通过检查所有可能的路径,如果检测到局部变量在初始化之前就使用了它的值,就会产生错误。C#的方法与C++的方法相反,在C++中,编译器让程序员确保变量在使用之前进行了初始化。例如,C#中不能使用下列语句public s 阅读全文
posted @ 2011-09-17 00:18 Lee.Kevin 阅读(2094) 评论(0) 推荐(0) 编辑
摘要: #include <iostream>#include <iomanip>using namespace std;template <class T>class node //节点{public:T data; node *next;};template <class T>class list{public:list();void Create(); //创建链表bool Empty() const; //判断链表是否为空void InsertLast(const T e); //从尾部插入一个元素void InsertFirst(const T 阅读全文
posted @ 2011-08-17 22:49 Lee.Kevin 阅读(6921) 评论(1) 推荐(3) 编辑
摘要: 写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字节对齐吧./******************************分割线如果体系结构是不对齐的,A中的成员将会一个挨一个存储,从而sizeof(a)为11。显然对齐更浪费了空间。那么为什么要使用对齐呢?体系结构的对齐和不对齐,是在时间和空间上的一个权衡。对齐节省了时间。假设一个体系结构的字长为w,那么它同时就假设了在这种体系结构上对宽度为w的数据的处理最频繁也是最重要的。它的设计也是从优先提高对w位数据操作的效率来考虑的。比如说读写时........ 阅读全文
posted @ 2011-08-17 20:23 Lee.Kevin 阅读(796) 评论(0) 推荐(1) 编辑
摘要: 内存的使用规则:在使用malloc()或new申请空间时,要检查有没有分配空间成功,判断方法是判断指针是否为NULL,如申请一块很大的内存而没有这么大的内存则分配内存会失败;申请成功后最好是将该内存清空,使用memset()后ZeroMemory()清空,不然存在垃圾而造成有时候输出很大乱码;不要忘记为数组和动态内存赋初值,防止将未被初始化的内存作为右值使用;要防止数组或指针内存越界;申请内存成功后,使用结束后要释放,系统不会自动释放手动分配的内存;内存释放后,指针还是指向那块地址,不过这指针已经是“野指针”了,所以释放内存后指针要指向NULL,不然很危险,容易出错,if()对野指针的判断不起 阅读全文
posted @ 2011-08-17 20:19 Lee.Kevin 阅读(696) 评论(0) 推荐(0) 编辑
摘要: memest原型(pleasetype"manmemset"inyourshell)void*memset(void*s,intc,size_tn);memset:作用是在一段内存块中填充某个给定的值,它对较大的结构体或数组进行清零操作的一种最快方法。常见的三种错误第一:搞反了c和n的位置.一定要记住如果要把一个chara[20]清零,一定是memset(a,0,20)而不是memset(a,20,0)第二:过度使用memset,我想这些程序员可能有某种心理阴影,他们惧怕未经初始化的内存,所以他们会写出这样的代码:charbuffer[20];memset(buffer,0 阅读全文
posted @ 2011-08-17 18:32 Lee.Kevin 阅读(1255) 评论(5) 推荐(2) 编辑