数据结构--05字符串
第五节、字符串
一、数据结构
1.顺序存储
1 |
|
2.链式存储
1 | typedef struct node { |
二、顺序串基本操作
-
串的赋值
1
2
3
4
5
6
7
8
9
10void Assign(SqString &s,chat t[])
{
int i = 0;
while(t[i]!= '/0')
{
s.ch[i] = t[i];
i++;
}
s.len = i;
} -
串的复制
1
2
3
4
5
6
7
8
9
10void StrCopy(SqString &s,SqString t)
{
int ;
for(i=0;i<t.len;i++)
{
s.ch[i] = t.ch[i]
}
s.len = t.len
} -
求串的长度
1
2
3
4int LenStr(SqString s)
{
return s.len
} -
判断两个串是否相等
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17int StrEqual(SqString s,SqString t)
{
int i = 0;
if(s.len != t.len)
{
return 0
}
else
{
for(int i = 0;i < t.len;i++)
{
if(s.ch[i]!=t.ch[i])
return 0;
}
return 1;
}
} -
串的拼接
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15SqString Concat(SqString s,SqString t)
{
SqString r;
int i,j;
for(int i=0;i < s.len;i++)
{
r.ch[i] = s.ch[i];
}
for(int j = 0;j < t.len;j++)
{
r.ch[s.len+j] = t.ch[j];
}
r.len = s.len + j.len ;
return r;
} -
求子串
1
-
查找子串的位置
-
插入子串
-
删除子串
-
替换子串
-
输出串
二、
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.