http://www.tuicool.com/articles/RFbimm
数据结构——算法之(028)( 寻找其中的一个子字符串个数)
时间 2014-06-16 16:53:41 CSDN博客 相似文章 (0)
原文 http://blog.csdn.net/mr_chenping/article/details/31394739
【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:Mr_chenping@163.com】
题目:
已知一个字符串,比如asderwsde,寻找其中的一个子字符串比如sde 的个数,如果没有返回0,有的话返回子字符串的个数
题目分析:
1、顺序遍历字符串,然后用strncmp比较即可
算法实现:
#include <stdio.h>
#include <string.h>
int sub_str_count(const char *str, const char *sub_str)
{
int str_len = strlen(str);
int sub_str_len = strlen(sub_str);
int count = 0;
int times = str_len - sub_str_len + 1;
while(times--)
{
if(!strncmp(str, sub_str, sub_str_len))
count++;
str++;
}
return count;
}
int main(int argc, char *argv[])
{
printf("%s----%s--->%d\n", argv[1], argv[2], sub_str_count(argv[1], argv[2]));
return 0;
}
数据结构——算法之(028)( 寻找其中的一个子字符串个数)
时间 2014-06-16 16:53:41 CSDN博客 相似文章 (0)
原文 http://blog.csdn.net/mr_chenping/article/details/31394739
【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:Mr_chenping@163.com】
题目:
已知一个字符串,比如asderwsde,寻找其中的一个子字符串比如sde 的个数,如果没有返回0,有的话返回子字符串的个数
题目分析:
1、顺序遍历字符串,然后用strncmp比较即可
算法实现:
#include <stdio.h>
#include <string.h>
int sub_str_count(const char *str, const char *sub_str)
{
int str_len = strlen(str);
int sub_str_len = strlen(sub_str);
int count = 0;
int times = str_len - sub_str_len + 1;
while(times--)
{
if(!strncmp(str, sub_str, sub_str_len))
count++;
str++;
}
return count;
}
int main(int argc, char *argv[])
{
printf("%s----%s--->%d\n", argv[1], argv[2], sub_str_count(argv[1], argv[2]));
return 0;
}