字符串表示方法:
Char *
Char[]
string
String
Wchar
字符串需要实现类的方法:
默认构造函数
析构函数
拷贝构造函数
赋值函数
其他辅助函数
1.字符串与整形之间的转换:
要求不调用库函数atoi(),atio()
int str2int(const char *str)
{
int i=0, sign=1, value = 0;
if(str==NULL) return NULL; // 空串直接返回 NULL
if(str[0]=='-' || str[0]=='+')
{ // 判断是否存在符号位
i = 1;
sign = (str[0]=='-' ? -1 : 1);
}
for(; str>='0' && str<='9'; i++) // 如果是数字,则继续转换
value = value * 10 + (str - '0');
return sign * value;}
2.字符串逆序高效算法:
char * strrev ( char * str)
{ char *start = str;
char *left = str;
char ch;
while (*str++) ;
str-= 2;
while (left < str)
{ ch = *left;
*left++ = *str;
*str-- = ch;
}
return(start);
}
3.字符串频度算法:
性能较好的算法BF算法,KMP算法,BM算法
BM算法基本思想:假设模式的长度为m,令模式和文本左对齐,对模式中的最右一个字符pm 和文本中对应字符tm比较,不匹配,则向后移动m个字符。
文本: defghigabc
模式: abc
移动后: abc
public int get_freq(string soure,string astr)
{
if (astr.Trim() == "")
return -1;
int freq = 0;
int soure_len = soure.Length; int astr_len = astr.Length;int ind = 0;
while (ind < soure_len)
{
if (soure[ind] == astr[0])//定位第一个字符
{
if (ind + astr_len <= soure_len)
{
int j = 1;
while (j < astr_len)
{
if (soure[ind + j] == astr[j])
j++;
else
break;
}
if (j >= astr_len)
freq++;
}
}
ind++;
}//end while ind
return freq;
}//end get_freq
分享到:
相关推荐
string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求: find(string strSub, npos); find_last_of(string strSub, npos); 其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子...
305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)305-字符串函数string.h应用举例(51单片机C语言实例Proteus仿真和代码)...
StrComp StrComp(string1,string2[,compare]) 返回string1字符串与string2字符串的比较结果,如果两个字符串相同,则返回0,如果小于则返回-1,如果大于则返回1 InStr InStr(string1,string2[,compare]) 返回...
字符串数组转换成string类型的
最新单片机仿真 字符串函数string.h应用举例最新单片机仿真 字符串函数string.h应用举例最新单片机仿真 字符串函数string.h应用举例最新单片机仿真 字符串函数string.h应用举例最新单片机仿真 字符串函数string.h...
基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用基于Keil实现字符串函数string.h的简单应用...
c++封装的String类,采用了预分配内存和Copybeforewrite技术。效率很高。
自己整理的StringUtil ,字符串处理工具类,很全面的方法,对象之间的数据转换
用string拆分字符串 用string拆分字符串 用string拆分字符串
java字符串格式化String.format()
1. 关于使用不同进制的数字字面义(literal)表达整数 2. 使用标准库函数实现从数字字符串到整型的转换 3. 将使用16进制表达的色彩RGB字符串转化为
C#字符串删除指定字符串|C#字符串删除子字符串
java字符串处理取出括号内的字符串 都是我自己试过可以用的j
字符串处理函数及示例 如: 函数名: strcpy 功 能: 拷贝一个字符串到另一个 用 法: char *strcpy(char *destin, char *source); 程序例: C/C++ code #include #include <string.h> int main(void) { char string...
/// 是否包含字符串,可以直接. /// /// 字符串. /// 被查找的字符串. /// <returns></returns> public static bool Contains(string text, string patten) { //去掉收尾的扩展“%”字符 if (string....
将string类型的xml转为JSON字符串,利用JSONObject处理JSON串
Delphi中处理字符串的相关方法 1、字符集转换方法 (1)stringtowidechar function stringtowidechar(const source:string;dest :pwidechar;destsize :integer) :pwidechar; 将默认string类型的字符串转换为unicode...
List集合转换成String,String转List,Map转String,String转Map等 集合与字符串相互转换,可以自己扩展源码,带有注释
Test1 介绍的是字符串获取长度截取的问题 Test2 介绍的是字符串之间的比较问题 Tes3 介绍的字符串之间的分割 Tes4 介绍格式化字符串,日期和时间 Test5 介绍使用正则表达式 Test6 字符串生成器
MidMid(string,start,length)从string字符串的start字符开始取得length长度的字符串,如果省略第三个参数表示从start字符开始到字符串结尾的字符串 LeftLeft(string,length)从string字符串的左边取得length长度的...