串——链式存储结构

这篇博客详细探讨了串的链式存储结构,包括相关运算的实现,提供了头文件LinkString.h、源文件LinkString.cpp及主函数main.cpp的示例。
摘要由CSDN通过智能技术生成

该文章主要介绍串的链式存储结构以及相关运算。

头文件:LinkString.h

#ifndef LINKSTRING_H_
#define LINKSTRING_H_
#include <iostream>
struct LinkNode					//链串结点类型
{
	char data;					//存放一个字符
	LinkNode *next;				//指向下一个结点
};
class LinkStringClass			//链串类
{
	LinkNode *head;				//链串头结点指针
public:
	//====================链串的基本运算算法=================
	LinkStringClass();									//构造函数
	~LinkStringClass();									//析构函数
	LinkStringClass &operator=(char *cstr);				//重载赋值运算符
	LinkStringClass &operator=(LinkStringClass &t);		//重载赋值运算符
	int StrLength();									//求串长度
	LinkStringClass &operator+(LinkStringClass &t);		//串连接
	LinkStringClass &SubStr(int i, int j);				//求子串
	LinkStringClass &InsStr(int i, LinkStringClass &s);	//串插入
	LinkStringClass &DelStr(int i, int j);				//串删除
	LinkStringClass &RepStr(int i, int j, LinkStringClass &s);//串替换
	void DispStr();										//串输出
	
	//===================链串的其他运算算法===================
	friend bool StrEqueal(LinkStringClass &s, LinkStringClass &t);//比较两个串是否相等
	friend bool Repl(LinkStringClass &s);//把一个串中最先出现“ab”改为“xyz”
	
	//===================链串的子串匹配运算算法===============
	friend int Index1(LinkStringClass &s, LinkStringClass &t);//BF算法(暴力匹配)
};
#endif

源文件:LinkString.cpp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值