如何用C++ 设计一个算法对字符串中每个字符出现的频率进行统计??
私有数据成员char*str:指向要统计的字符串。char(*p)[2]:动态分配二维空间,用以存放str所指字符串中出现字符及其出现的次数(次数在存放是时,用该数字对应...
私有数据成员
char *str: 指向要统计的字符串。
char (*p)[2]:动态分配二维空间,用以存放str所指字符串中出现字符及其出现的次数(次数在存放是时,用该数字对应的ASCII值存放;在输出次数时,输出该ASCII字符对应的ASCII值即可)。
int size:存放字符串中出现的所有不同的字符的个数。
公有成员函数
CString(char *s):根据s参数初始化数据成员str;p和size初始值为0。
void Count():p根据s所指字符串长度分配空间。然后把str所指字符串中的每个字符放入p数组中,设置每个字符出现次数为1.根据p数组统计不同字符出现的频率,并求得size的实际大小。最后根据size的实际大小,重新分配p所指空间,并把不同字符及出现次数重新放回p数组。
void show():屏幕显示字符串、字符串的每个字符和与之对应的次数。
~CString():释放动态分配的空间。
(3) 在主程序中定义字符串char s[]=“abdabcdesffffd”.定义一个CString类对象test,用s初始化test,完成对该类的测试。 展开
char *str: 指向要统计的字符串。
char (*p)[2]:动态分配二维空间,用以存放str所指字符串中出现字符及其出现的次数(次数在存放是时,用该数字对应的ASCII值存放;在输出次数时,输出该ASCII字符对应的ASCII值即可)。
int size:存放字符串中出现的所有不同的字符的个数。
公有成员函数
CString(char *s):根据s参数初始化数据成员str;p和size初始值为0。
void Count():p根据s所指字符串长度分配空间。然后把str所指字符串中的每个字符放入p数组中,设置每个字符出现次数为1.根据p数组统计不同字符出现的频率,并求得size的实际大小。最后根据size的实际大小,重新分配p所指空间,并把不同字符及出现次数重新放回p数组。
void show():屏幕显示字符串、字符串的每个字符和与之对应的次数。
~CString():释放动态分配的空间。
(3) 在主程序中定义字符串char s[]=“abdabcdesffffd”.定义一个CString类对象test,用s初始化test,完成对该类的测试。 展开
4个回答
展开全部
用过string没有?不需要定义指针什么的。
#include<string>
string a="abdabcdesffffd”;
string b=a;
......
没试过赶快看。
”对字符串中每个字符出现的频率统计“,你这里的字符是笼统的(数字,字母,其他),如果追究起来,还有用hash,或者map<string,int>.一楼显然小看了这道题。这道题测试数据强大的话,只能hash,不是那么简单的。
#include<string>
string a="abdabcdesffffd”;
string b=a;
......
没试过赶快看。
”对字符串中每个字符出现的频率统计“,你这里的字符是笼统的(数字,字母,其他),如果追究起来,还有用hash,或者map<string,int>.一楼显然小看了这道题。这道题测试数据强大的话,只能hash,不是那么简单的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字母不多加大小写啥的也不多,直接扫一遍计数就好了。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这太简单了吧。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询