
字符串
文章平均质量分 78
Furney
人的一生中,最光辉的一天并非是功成名就那天,而是从悲叹与绝望中产生对人生的挑战,以勇敢迈向意志那天。
展开
-
字符串模式匹配
模式匹配又称为子串的定位操作,是串最基本的操作。下面对常用的模式匹配算法作简单介绍。1、朴素模式匹配算法 此算法是最简单的匹配算法,算法思想如下:从主串s的第1个字符起和模式串t的第1个字符比较,如果相等,则继续比较后继字符。否则从主串的下一个字符起再重新和模式串的第1个字符进行比较,直到模式串t中的每一个字符依次和主串s中的一个字符序列相等则匹配成功,返回和模式串t中第1个字符相等的字符原创 2012-01-10 16:01:20 · 3350 阅读 · 0 评论 -
POJ 2406 Power Strings
题目描述:给出一个字符串s,求该字符串最多是由多少个重复字符串连接而成。分析:KMP算法每次求得的next值就是当前到i为止的前子串与后字符串相等的子串的长度。#include#includeint main(){ int i, j, len; char str[1000005]; int next[1000005]; while(scanf("%原创 2012-01-11 17:02:28 · 754 阅读 · 0 评论 -
POJ 1488 TEX Quotes
题目描述信息较多,但是仔细读完会发现本题所要完成的功能是并不像描述得那么吓人,只是实现给定字符串中指定字符的替换。直接使用string类提供的find_first_of及replace函数就可以解题,具体实现代码如下:#include #include using namespace std;int main(){ string str; int count = 1; whil原创 2012-01-13 06:20:40 · 1393 阅读 · 0 评论 -
POJ 1001 求高精度幂
题目描述:对数值很大、精度很高的数进行高精度计算是一类十分常见的问题。比如,对国债进行计算就是属于这类问题。 现在要你解决的问题是:对一个实数R( 0.0 n),其中n 是整数并且 0 解题思路:很简单的一道高精度题目。话不多说直接上代码,过程被写得复杂啦,有很大的改进空间。#include #include using namespace std;string m原创 2012-01-13 06:02:40 · 2578 阅读 · 0 评论 -
删除字符串中首次出现的指定字符
字符串处理中有一个非常常用的操作:删除字符串中首次出现的指定字符。对于这个操作,一般的方法是自己写函数实现,其实C++ string库中提供的函数就可以直接实现这个功能。需要的两个函数如下:1、find_first_of #include size_type find_first_of( const string &str, size_type index = 0 ); si原创 2012-03-16 10:11:50 · 2328 阅读 · 0 评论 -
字符串循环移动
字符串循环移位一直是字符串操作的常见问题,最直观的解决方法是每次将字符串中的元素移动一位,循环k次。这个算法虽然可以实现字符串的循环移位,但是算法的时间复杂度为O(k*n),其中n为字符串的长度,k为循环移位的位数。为了降低时间复杂度,通过对移位过程的详细分析发现,可以利用中间变量tmp保存str[0, k - 1],再将str[n - k, n - 1]依次放入str[0, k - 1],最后将原创 2012-02-16 19:31:37 · 2991 阅读 · 3 评论 -
字符串转化为数字
将给定字符串转化为数字,如果结果为正较大返回2147483647,如果结果为负且较大返回-2147483648。字符串除包含数字外还包含空格及其他字符,因此需要对不是数字的字符进行处理。#include int isspace(int x){ if(x == ' '|| x == '\t' || x == '\n' || x == '\f' || x == '\b' || x原创 2012-09-15 14:29:35 · 993 阅读 · 0 评论 -
计算器程序
计算器程序,非递归实现#include #include #include #include #include #include #include #include using namespace std;void calculateAndOutput(char* str);int isspace(int x){ if(x == ' '|| x == '\t' ||原创 2012-09-15 14:47:06 · 1280 阅读 · 0 评论 -
字符串的转换、逆置、删除重复元素及判断是否为邮件格式
1.给定的一个字符串,比如:this is my program,要求将每个单词的首字母大写,输出:This Is My Program 。#include int getsline(char *s){ int i = 0, c; if(s == NULL) return 0; for(i = 0; (c = getchar()) != EOF && c != '\n';原创 2012-10-08 21:06:42 · 2451 阅读 · 1 评论