C语言实现字符串包含判断:高效哈希表法解析

创始人
2024-12-18 16:25:22
0 次浏览
0 评论

在C语言中怎样判断一个字符串中是否包含另一个字符串

如果“一个字符串”全是英文字符,只需打开一个chars[128];的哈希表,并根据其中出现的每个字符的ASCII值将相应元素设置为1即可;

然后扫描“另一个字符串”,检查每个字符在数组中对应元素的值是否为1。
如果这个字符串中对应元素的值全为1,则表示“包含另一个字符串的所有字符”。

该算法的时间复杂度为O(n1+n2),n1和n2是两个字符串的长度。

#iinclude

intmain()

{chars1[200],s2[200],s[128]={0};//初始化,所有字符不出现

inti,k=1;

gets(s1);

gets(s2);

for(i=0;s[i];i++)

s1[s[i]]=1;//提取字符串s1出现的每一个字符都被“记录”

for(i=0;s2[i];i++)

if(!(s[s2[i]]]))k=0;//如果s2中有没有出现在“记录本”中的字符,则记录下来

if(k)printf("s1包含s2中的所有字符\n");//根据是否有记录,输出对应的记录

elseprintf("s1不包含s2中的所有字符\n");

return0;

}

c语言设计程序判断输入的是大写或小写字母或其他字符?用ifelse语句

#includemain(){charch;printf('从键盘输入一个字符\n');ch=getchar();if(97
热门文章
1
C语言字符串常量解析:区别、用途及存储方... 什么是字符串常量字符串常量是C语言中的一种数据类型,它是由一对双引号括起来的字符...

2
C语言printf函数:格式字符串与输出... printf函数中的格式与输出项有什么关系?在C语言中,printf函数中的格式...

3
Excel技巧:计算字符串起始位置与合并... 如何计算字符串在特定文本中的起始位置,怎么计算字符串在特定文本中的起始位置您可以...

4
Python发音全解:掌握正确的发音方法... python怎么读我的很多学习编程的朋友可能都知道Python这个词,但是他们中...

5
字符与字符串:编程中的基础文本类型解析 字符串什么意思字符串是由数字、字母和下划线组成的字符串,表示为s=“a1a2…a...

6
Python编程语言:多领域应用与开发优... Python的作用是什么?Python是一种跨平台计算机编程语言,是ABC语言的...

7
深度解析:C语言编程特点与应用领域 什么叫c语言C语言是一种编程语言。C编程语言应用广泛,具有以下特点和特点:1.语...

8
Java全解析:跨平台编程语言的魅力与多... java是什么Java是一种功能强大的编程语言,被称为“一次编写,随处运行”模型...

9
C语言赋值与相等运算符的区别解析 c语言中=和==有什么区别?1.各种含义:“=”表示赋值。它的功能是将表达式的值...

10
C语言实现字符串next数组:原理与实例... 如何用C语言编写一个字符串的next数组?对于字符串“abcdeabc”,可以通...