• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






lizezheng

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理
上一页 1 2 3 4 5 下一页

2012年8月16日

如何判断单链表是否有环,如果有怎么找到进入环的节点
摘要: 转载自gaofen100博客园,感谢作者整理!How can one determine whether a singly linked list has a cycle?第一种方法是从单链表head开始,每遍历一个,就把那个node放在hashset里,走到下一个的时候,把该node放在hashset里查找,如果有相同的,就表示有环,如果走到单链表最后一个node,在hashset里都没有重复的node,就表示没有环。 这种方法需要O(n)的空间和时间。第二种方法是设置两个指针指向单链表的head, 然后开始遍历,第一个指针走一步,第二个指针走两步,如果没有环,它们会直接走到底,如果有环,这 阅读全文
posted @ 2012-08-16 20:31 lizezheng 阅读(1074) 评论(0) 推荐(0)
 
带参数的宏定义,利用宏参数创建字符串——#运算符
摘要: 看看以下两个宏定义:#define PSQR(x) printf("The square of x is %d.\n",(x)*(x))#define PSQR(x) printf("The square of "#x" is %d.\n",(x)*(x)) 我们的目标是希望使用宏的时候将宏体中的x替换为宏参数,但是第一个宏定义是不能完成这样的目标的,因为引号中的x会被看做是普通文本,不可替换;我们可以采用#运算符来实现这样的功能。PSQR(x)在两个不同的宏定义输出的结果如下:The square of x is 4.The squ 阅读全文
posted @ 2012-08-16 10:43 lizezheng 阅读(4748) 评论(0) 推荐(0)
 

2012年7月26日

pthread 使用手册
摘要: #include <pthread.h>1、创建int pthread_create( pthread_t *tid, const pthread_attr_t *attr, void *(* func) (void *), void *arg );attr: 线程属性包括:优先级、初始栈大小,是否应该成为一个守护线程。缺省设置,NULL后面是线程要执行的函数和参数成功返回 02、等待一个给定线程终止int pthread_join( pthread_t tid, void **status);statues返回等待线程的返回值3、得到自身的pidpthread_t pthread 阅读全文
posted @ 2012-07-26 19:58 lizezheng 阅读(902) 评论(0) 推荐(0)
 
error C2275: “XXX”: 将此类型用作表达式非法
摘要: 关于错误 error C2275: “XXX”: 将此类型用作表达式非法rror C2275: “XXX”: 将此类型用作表达式非法在移植c++代码到c的时候,经常会出现一个奇怪的错误, error C2275: “XXX”: 将此类型用作表达式非法,这个错误是由于c的编译器要求将变量的声明放在所有函数调用语句之前,而c++没有这样的要求造成的。解决的办法就是把变量的声明全部放在变量的生存块的开始。 阅读全文
posted @ 2012-07-26 19:12 lizezheng 阅读(830) 评论(1) 推荐(0)
 
C语言 #pragma 预处理命令
摘要: 在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma 指令对每个编译器给出了一个方法,在保持与C 和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为: #pragma para其中para 为参数,下面来看一些常用的参数。一、#pragma messagemessage 参数:Message 参数是我最喜欢的一个参数,它能够在编译信息输出窗口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为: #pra 阅读全文
posted @ 2012-07-26 18:41 lizezheng 阅读(1752) 评论(0) 推荐(1)
 
C语言多线程编程
摘要: 注:本文内容来源于互联网,感谢作者整理!Windows的多线程编程 c语言在Windows的多线程编程中,创建线程的函数主要有CreateThread和_beginthread(及_beginthreadex)。CreateThread 和 ExitThread 使用API函数CreateThread创建线程时,其中的线程函数原型: DWORD WINAPI ThreadProc(LPVOID lpParameter);在线程函数返回后,其返回值用作调用ExitThread函数的参数(由系统隐式调用)。可以使用GetExitCodeThread函数获得该线程函数的返回值。 当线程函数的起始.. 阅读全文
posted @ 2012-07-26 16:48 lizezheng 阅读(76151) 评论(2) 推荐(1)
 

2012年7月20日

GetTickCount()函数
摘要: 函数功能:GetTickCount返回(retrieve)从操作系统启动到现在所经过(elapsed)的毫秒数,它的返回值是DWORD。函数原型:DWORD GetTickCount(void);C/C++头文件:winbase.hwindows程序设计中可以使用头文件windows.h注意事项: GetTickcount函数:它返回从操作系统启动到当前所经过的毫秒数,常常用来判断某个方法执行的时间,其函数原型是DWORD GetTickCount(void),返回值以32位的双字类型DWORD存储,因此可以存储的最大值是2^32 ms约为49.71天,因此若系统运行时间超过49.71天时,这 阅读全文
posted @ 2012-07-20 19:24 lizezheng 阅读(1337) 评论(0) 推荐(0)
 

2012年7月18日

ctype.h头文件所包含的一些函数及其用法
摘要: 1 字符测试函数 1> 函数原型均为int isxxxx(int) 2> 参数为int, 任何实参均被提升成整型 3> 只能正确处理处于[0, 127]之间的值 2 字符映射函数 1> 函数原型为int toxxxx(int) 2> 对参数进行检测, 若符合范围则转换, 否则不变 int tolower(int); 'A'~'Z' ==> 'a'~'z' int toupper(int); 'a'~'z' ==> 'A'~'Z' 阅读全文
posted @ 2012-07-18 20:03 lizezheng 阅读(2163) 评论(0) 推荐(0)
 
strtok函数和strtok_r函数
摘要: 注:本文转载自博客园,感谢作者整理!1.一个应用实例网络上一个比较经典的例子是将字符串切分,存入结构体中。如,现有结构体typedef struct person{ char name[25]; char sex[10]; char age[4];}Person;需从字符串 char buffer[INFO_MAX_SZ]="Fred male 25,John male 62,Anna female 16"; 中提取出人名、性别以及年龄。一种可行的思路是设置两层循环。外循环,先以 ',’ (逗号) 为分界符,将三个人的信息分开,然后对于每一个子串,再以 ' 阅读全文
posted @ 2012-07-18 19:42 lizezheng 阅读(44815) 评论(0) 推荐(2)
 

2012年7月17日

C++输出中文字符
摘要: 注:本文转载自互联网,感谢作者整理!1. cout场景1: 在源文件中定义 const char* str = "中文" 在 VC++ 编译器上,由于Windows环境用 GBK编码,所以字符串 "中文" 被保存为 GBK内码,编译器也把 str 指向一个包含有 GBK编码的只读内存空间.用 cout 输出 str 时, 由于中文Windows环境用GBK编码,所以把GBK编码的 str 内容输出到控制台,没问题.场景2: 在Linux 下编辑一个文件 const char* str = "中文", 由于Linux普遍使用 UTF8 阅读全文
posted @ 2012-07-17 22:23 lizezheng 阅读(18044) 评论(0) 推荐(3)
 
上一页 1 2 3 4 5 下一页