上一页 1 ··· 11 12 13 14 15

2012年7月12日

C语言中strcpy,strcmp,strlen,strcat函数原型

摘要: #include #include char *strcpy(char *strDest, const char *strSrc) { char *address=strDest; assert((strDest!=NULL) && (strSrc!=NULL)); while(*strSrc!='\0') { *strDest++=*strSr... 阅读全文

posted @ 2012-07-12 20:13 as_ 阅读(4721) 评论(3) 推荐(0) 编辑

strcpy,sprintf,memcpy的区别

摘要: 这些函数的区别在于 实现功能 以及 操作对象 不同。strcpy 函数操作的对象是 字符串 ,完成 从 源字符串 到 目的字符串 的 拷贝 功能。snprintf 函数操作的对象 不限于字符串 :虽然目的对象是字符串,但是源对象可以是字符串、也可以是任意基本类型的数据。这个函数主要用来实现 (字符串或基本数据类型)向 字符串 的转换 功能。如果源对象是字符串,并且指定 %s 格式符,也可实现字符串拷贝功能。memcpy 函数顾名思义就是 内存拷贝 ,实现 将一个 内存块 的内容复制到另一个 内存块 这一功能。内存块由其首地址以及长度确定。程序中出现的实体对象,不论是什么类型,其最终表... 阅读全文

posted @ 2012-07-12 19:23 as_ 阅读(6449) 评论(0) 推荐(0) 编辑

Linux/Unix select函数 及select/poll与epoll的对比

摘要: select()是Linux/Unix 网络编程中的一个重要函数,通过调用select函数可以确定一个或者多个套接字(描述符)的状态,判断套接字上是否有数据需要读出或者写入 #include<sys/select.h> #include<sys/time.h> int select(int max_fd_p_1, fd_set *readset, fd_set* writeset, fd_set* exceptset, struct timeval* timeout); 返回:就绪描述字的个数,0——超时,-1——出错select函数有5个参数,我们会介绍每一个参数。参 阅读全文

posted @ 2012-07-12 19:15 as_ 阅读(2820) 评论(0) 推荐(0) 编辑

百度2012校招笔试题之线段最大重复

摘要: 题目算法设计一个一维数轴上有不同的线段,求重复最长的两个线段。例: a: 1~3b: 2~7c: 2~8最长重复是b和c算法设计(伪代码 仅供参考)typedef struct{ char id; int start; //如果无序 可以先按照start从小到大排序 int end;}Span;char reid1,reid2;void maxspan(Span *sp,int size) //线段有序{ int i,j,maxspan=-1; char id1,id2,tempmin; for(i=0;i<si... 阅读全文

posted @ 2012-07-12 16:13 as_ 阅读(963) 评论(0) 推荐(0) 编辑

字典序算法

摘要: 全排列的生成算法对于给定的字符集,用有效的方法将所有可能的全排列无重复无遗漏地枚举出来。字典序法按照字典序求下一个排列的算法/*例字符集{1,2,3},较小的数字较先,这样按字典序生成的全排列是:123,132,213,231,312,321。注意一个全排列可看做一个字符串,字符串可有前缀、后缀。*/生成给定全排列的下一个排列所谓一个全排列的下一个排列就是这一个排列与下一个排列之间没有其他的排列。这就要求这一个排列与下一个排列有尽可能长的共同前缀,也即变化限制在尽可能短的后缀上。/*例839647521是1—9的排列。1—9的排列最前面的是123456789,最后面的是987654321,从右 阅读全文

posted @ 2012-07-12 15:04 as_ 阅读(2023) 评论(0) 推荐(0) 编辑

const!指针!

摘要: const的实现const仅对编译器有效,严格来说,const不是“不可以修改”,而是告知编译器:我的变量不应该被修改,如果编译器发现程序企图修改这个变量,就会报错。有些情况,const变量有可能被编译器以外的东西修改,例如硬件中断等等。1.指向const对象的指针 可以这样理解指向const对象的指针:指向const对象的指针就是一个指针,不能通过它来修改它所指向的对象的值 声明方法:const int *p; const对象在初始化是不允许对其值进行修改的,因此,我们不能用一个普通指针指向一个const对象 下面的赋值会引起错误 const int i =1;int *p = &i 阅读全文

posted @ 2012-07-12 14:39 as_ 阅读(830) 评论(0) 推荐(1) 编辑

堆和栈概念整理

摘要: 1.内存管理方式: 堆:一般由程序员分配释放,程序员申请时需要指明大小,leg,C语言中malloc函数:p1=(char*)malloc(10),C++中:p2=new char[20].若程序员不去释放,当程序结束时可能由操作系统释放 ,注意其与数据结构的堆完全是两回事,分配方式类似于链表,分配释放的关键字:new,malloc,delete,free 栈:由系统自动分配和释放,存放函数的参数值,局部变量等等,操作类似于数据结构的栈,eg:生命一个局部变量 int b,系统自动在栈中为其开拓空间2.系统响应: 堆:OS有一个记录空闲内存地址的链表,当OS收到程序的申请时,会遍历该链表,寻找 阅读全文

posted @ 2012-07-12 13:14 as_ 阅读(970) 评论(0) 推荐(1) 编辑

拓扑排序算法

摘要: /* *输入pTask为装有Task结构体的数组 *算法存在的Bug 当输入的Task的child数组中存在自己的ID 运行失败 */struct Task{ int ID; int *child; //装有其前驱Task的ID的数组 int child_num; }; void completeMission(Task *pTask,int Task_num) { int i,j; Task *pt for( i=0;i<Task_num;i++) { if((pTask+i)->child_nu... 阅读全文

posted @ 2012-07-12 10:22 as_ 阅读(735) 评论(0) 推荐(0) 编辑

上一页 1 ··· 11 12 13 14 15

导航