数据结构c语言pdf2007,数据结构(C语言)严蔚敏 吴伟明 编著 07.pdf
第四章 串
第四章 串
4.1 串类型的定义
4.2 串的表示和实现
4.2.1 定长顺序存储表示
4.2.2 堆分配存储表示
4.2.3 串的块链存储表示
4.1 串类型的定义
一、串和基本概念
串(String)是零个或多个字符组成的有限序
列。一般记作S “a a a …a ” ,其中S 是串名,
1 2 3 n
双引号括起来的字符序列是串值;ai (1≦i≦n)
可以是字母、数字或其它字符;串中所包含的
字符个数称为该串的长度。长度为零的串称为
空串(Empty String),它不包含任何字符。
通常将仅由一个或多个空格组成的串称为空白
串(Blank String)
注意:空串和空白串的不同,例如“ ”和“”分别
表示长度为1的空白串和长度为0的空串。
串中任意个连续字符组成的子序列称为该串的子
串,包含子串的串相应地称为主串。通常将子
串在主串中首次出现时的该子串的首字符对应
的主串中的序号,定义为子串在主串中的序号
(或位置)。例如,设A和B分别为
A “This is a string” B “ is”
则B是A的子串,A为主串。B在A中出现了两次,
其中首次出现所对应的主串位置是3。因此,
称B在A中的序号(或位置)为3
特别地,空串是任意串的子串,任意串是
其自身的子串。
通常在程序中使用的串可分为两种:串变量
和串常量。串常量和整常数、实常数一样,在
程序中只能被引用但不能不能改变其值,即只能
读不能写。通常串常量是由直接量来表示的,
例如语句Error(“overflow”)中“overflow”是直
接量。但有的语言允许对串常量命名,以使程
序易读、易写。如C++中,可定义
const char path[] “dir/bin/appl”;
这里path是一个串常量,对它只能读不能写。串
变量和其它类型的变量一样,其取值是可以改
变的。
二、串的抽象数据定义
串的抽象数据类型定义台书P71
三、串的基本操作
对于串的基本操作,许多高级语言均提供了相
应的运算或标准库函数来实现。下面先介绍
几种在C语言中常用的串运算。
定义下列几个变量:
char s1[20]=“dirtreeformat”,s2[20]=“file.mem”;
char s3[30],*p;
int result;
(1) 求串长(length)
int strlen(char s); //求串的长度
例如:printf(“%d”,strlen(s1)); 输出13
(2 )串复制(copy)
char *strcpy(char to,char from);
该函数将串from复制到串to 中,并且返回一个
指向串to的开始处的指针。
例如:strcpy(s3,s1); //s3=“dirtreeformat”
(3)联接(concatenation)
char strcat(char to,char from)
该函数将串from复制到串to的末尾,并且返回
一个指向串to的开始处的指针。
例如:strcat(s3,”/”)
strcat(s3,s2); //s3=“dirtreeformat/file.mem”
(4) 串比较(compare)
数据结构c语言pdf2007,数据结构(C语言)严蔚敏 吴伟明 编著 07.pdf相关推荐
- 数据结构(C语言版 第2版)课后习题答案 严蔚敏 等 编著
数据结构(C语言版 第2版)课后习题答案 严蔚敏 等 编著,仅供参考,还是自己认真做了再看 第1章 绪论 5.选择题 (1)在数据结构中,从逻辑上可以把数据结构分成( C ). A.动态结构和静态 ...
- 【最详细】数据结构(C语言版 第2版)第三章课后习题答案 严蔚敏 等 编著
所有章节答案合集-->传送门 1.选择题 ( 1)若让元素 1, 2, 3, 4, 5 依次进栈,则出栈次序不可能出现在()种情况. A. 5, 4, 3, 2, 1 B. 2, 1, 5, 4 ...
- 【最详细】数据结构(C语言版 第2版)第八章课后习题答案 严蔚敏 等 编著
所有章节答案合集-->传送门 1.选择题 ( 1)从未排序序列中依次取出元素与已排序序列中的元素进行比较, 将其放入已排序序 列的正确位置上的方法,这种排序方法称为() . A.归并排序 B.冒 ...
- 【最详细】数据结构(C语言版 第2版)第七章课后习题答案 严蔚敏 等 编著
所有章节答案合集-->传送门 1.选择题 ( 1)对 n 个元素的表做顺序查找时, 若查找每个元素的概率相同, 则平均查找长度为 (). A. (n-1)/2 B . n/2 C. (n+1)/ ...
- 【最详细】数据结构(C语言版 第2版)第六章课后习题答案 严蔚敏 等 编著
所有章节答案合集-->传送门 1.选择题 ( 1)在一个图中,所有顶点的度数之和等于图的边数的()倍. A. 1/2 B. 1 C. 2 D. 4 答案: C ( 2)在一个有向图中,所有顶点的 ...
- 【最详细】数据结构(C语言版 第2版)第五章课后习题答案 严蔚敏 等 编著
所有章节答案合集-->传送门 1.选择题 ( 1)把一棵树转换为二叉树后,这棵二叉树的形态是() . A.唯一的 B.有多种 C.有多种,但根结点都没有左孩子 D.有多种,但根结点都没有右孩子 ...
- 【最详细】数据结构(C语言版 第2版)第四章课后习题答案 严蔚敏 等 编著
所有章节答案合集-->传送门 第 4 章串.数组和广义表 1.选择题 ( 1)串是一种特殊的线性表,其特殊性体现在() . A .可以顺序存储 B .数据元素是一个字符 C.可以链式存储 D . ...
- 【最详细】数据结构(C语言版 第2版)第二章课后习题答案 严蔚敏 等 编著
所有章节答案合集-->传送门 第 2 章线性表 1.选择题 ( 1)顺 序表中 第一个 元 素的存储 地址 是 100 ,每 个元素的 长度 为 2,则 第 5 个 元 素 的 地 址 是 ( ...
- 数据结构(C语言版第二版)严蔚敏 课后习题答案
https://blog.csdn.net/Bamboo_shui/article/details/72433523 期末复习看了很多博客来确定自己的课后答案,大同小异,很多博客转载的都是上面这位大佬 ...
最新文章
- 【微服务架构】SpringCloud之Eureka入门篇
- 匹配滤波器的物理解释
- 升讯威微信营销系统开发实践:(3)功能介绍与此项目推广过程的一些体会( 完整开源于 Github)...
- 欢迎来到OpenGL的世界
- WINDOWS下的squid
- 【转】Windows消息传递机制详解
- thinkphp结合U方法,点击验证码刷新
- SpriteKit游戏开发适配iPad/iPhone6/7/8/Plus及iPhoneX的尺寸及安全区域
- php颜色淡入代码,JavaScript_jquery 淡入淡出效果的简单实现,样式:复制代码 代码如下:nbsp - phpStudy...
- proxy_cfw全局代理_浏览器代理配置(chromium based(edge)/firefox/IDM)
- .NET 开发从入门到精通
- MongoDB实验练习题
- 嵌入式linux locale,总结!嵌入式linux基础学习笔记
- Android学习之仿QQ讨论组和微信群聊头像
- ios发布证书过期怎么办?
- hdu2075 A|B?(C语言)
- kubeadm创建k8s集群(1.14.2版本)
- [RL] 深入理解Tabular Leaning (MC/TD) 过程中的梯度下降使用
- 9 个习惯助你在新的一年更有精力
- .netFramewo 4.0软件报 未能加载文件或程序集“System.Core, Version=2.0.5.0错误处理