字符串数据结构实现(数组方式)
来源:互联网 发布:php图片木马生成器 编辑:程序博客网 时间:2024/05/22 01:31
在基本的数据类型中,并没有字符串这种类型,所以字符串算是一种数据结构。其实现也很简单,主要用char基本类型来实现。这里用数组实现动态增长,也可以用链表来实现。
数组和链表的优缺点比较:
1.数组实现基本的操作较为容易。
2.数组的查找速度比较快。
3.数组存储中文字符比较难实现(所以这里未实现对中文的支持)
4.链表的空间利用率比较高 (不像数组一样,一到瓶颈就翻倍增长,并伴随着复制数据的时间开销)
5.链表的添加、删除、插入操作比数组快。
C代码实现下载
C++代码实现下载
java代码实现下载
(备用下载地址 )
实现的功能如下:
(主要以C++来举例)
1.int ReAlloc(); //重新分配空间
2.void InitStr(char* str, int value, int len); //初始化字符串
3.int _csize(const char* str); //计算字符串长度(窄字符)
4.int _wsize(const wchar_t* str); //计算字符串长度(宽字符)
5.int Size(); //获取字符串大小
6.void PushRear(char ch); //添加一个字符到最后
7.void PushRear(char* sub); //添加字符串到最后
8.void PushFront(char ch); //添加一个字符到前面
9.void PushFront(char* sub); //添加字符串到前面
10.void PopRear(int n = 1); //删除最后n个字符
11.void PopFront(int n = 1 ); //删除前面n个字符
12.int DeleteSub(int start, int end); //根据范围删除子串
13.int DeleteSubLen(int start, int len); //根据起始位置和长度删除子串
14.char* SubString(int start, int end); //根据范围截取子串
15.char* SubStringLen(int start, int len); //根据起始位置和长度截取子串
16.int Replace(char s, char d); //替换字符(符合的都会替换)
17.int Replace(int local, char d); //替换指定位置字符
19.int Replace(char* s, char* d); //替换子串(符合的都会替换)
20.int Replace(int local, char* d); //替换指定位置子串
21.int FindFirst(char ch); //查找字符第一次出现的位置
22.int FindFirst(char* sub); //查找子串第一次出现的位置
23.int FindLast(char ch); //查找字符最后一次出现的位置
24.int FindLast(char* sub); //查找子串最后一次出现的位置
25.int Find(char ch, int start); //给定起始位置查找字符出现的位置
26.int Find(char* sub, int start); //给定起始位置查找子串出现的位置
27.void Insert(char ch, int local); //插入字符
28.void Insert(char* sub, int local); //插入子串
29.int AppearTimes(char ch); //统计字符出现过的次数
30.int AppearTimes(char* sub); //统计子串出现过的次数
31.bool Equal(String& s1,String& s2); //比较两个String是否相等
32.bool Equal(const char* s1, const char* s2); //比较两个String是否相等
33.char* GetString(); //获取字符串
34.void Print(int start, int end); //打印字符串
35.void Clear(); //清除字符串
36.void Destroy(); //销毁字符串
- 字符串数据结构实现(数组方式)
- 字符串数据结构实现(链表方式)
- [数据结构]Stack(数组)实现
- 数组实现“堆”(数据结构)
- 数据结构与算法分析-用C语言实现栈(数组方式)
- 数据结构与算法分析-用C语言实现队列(数组方式)
- 用数组实现查找字符串子串的位置-数据结构
- 数据结构【一】数组实现固定容量字符串栈
- 数据结构之数组和字符串的反转java实现
- java三种方式实现字符串反转(StringBuilder类,数组和栈)
- 【学习点滴-数据结构-字符串】 字符串的堆分配方式实现和基本函数
- 数据结构实现(动态数组类模板)
- 数据结构:队列(循环数组实现)
- 数据结构课程设计--数组(顺序实现)
- 数据结构(一) -- 循环队列数组实现
- 数据结构(二) -- 栈 数组实现
- 数据结构一(栈-数组实现)
- 数据结构之线性表(数组实现)
- TraceView性能优化工具使用
- 精选动画片大全-儿童益智学习屋
- Elasticsearch映射(mapping)与分析(analysis)
- Vue.js自定义指令的用法与实例
- hdu 2222AC自动机模板题
- 字符串数据结构实现(数组方式)
- 理解和实现分布式TensorFlow集群完整教程
- 下载jar包的网站
- java IO操作:IO的一般使用原则
- 1111. Online Map
- int转string
- 深入理解计算机中的字符
- 一些杂七杂八的东西
- 城市交通