常用算法总结
- 二分查找法
int bfind(int *a,int len,int val)
{
int m=len/2;
int l=0;
int r=len;
while(l!=m&&r!=m)
{
if(a[m]>val)
{
r=m;
m=(l+m)/2;
}
if(a[m]<val)
{
l=m;
m=(r+m)/2;
}
return m;
}
}
- 在母串中查找子串出现到次数
- 查找第一个匹配子串位置,如果返回的是s1长度len1表示没有找到
- 实现字符串反转
void reverse(char *str)
{
//assert(str!=NUll)
int len=1;
char *p2=str;
while(*++p2)len++;//指向末尾,一般不让用strlen
char *newstr=(char*)malloc(len);
p2--;
while(p2!=str-1)*newstr++=*p2--;
memcpy(str,newstr-len,len);
free(newstr-len);
}
@:卿之 → http://www.cnblogs.com/wpdev
©:博文是本人当时的学习笔记及知识整理,由于自身局限错误在所难免,敬请斧正.
©:本文版权属于博客园和本人,版权基于署名 2.5 中国大陆许可协议发布,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接和署名卿之(包含链接),不得删节,否则保留追究法律责任的权利。

浙公网安备 33010602011771号