回到顶部

网站工具

管 理
flash插件下载
首页 概论 线性表 栈和队列 多维数组 广义表 排序 查找 文件

网警工作室串及其运算
串的基本概念
串的基本运算
网警工作室串的存储结构

本章简介

     串(又称字符串)是一种特殊的线性表,它的每个结点仅由一个字符组成。
     在早期的程序设计语言中,串仅在输入或输出中以直接量的形式出现,并不参与运算。随着计算机的发展,串在文字编辑、词法扫描、符号处理以及定理证明等许多领域得到越来越广泛的应用。在高级语言中开始引入了串变量的概念,如同整型、实型变量一样,串变量也可以参加各种运算。
     本章将讨论串的有关概念,存储方法和串的基本运算及其实现。

串的基本概念

1、串
     串(String)是零个或多个字符组成的有限序列。一般记为
                    S="a1a2……an"
 其中
     ①S是串名
     ②双引号括起的字符序列是串值;
    将串值括起来的双引号本身不属于串,它的作用是避免串与常数或与标识符混淆。
      【例】"123"是数字字符串,它不同于整常数123
      【例】"xl"是长度为2的字符串,而xl通常表示一个标识符。
     ③ai(1≤i≤n)可以是字母、数字或其它字符;
     ④串中所包含的字符个数称为该串的长度。

2、空串和空白串
     长度为零的串称为空串(Empty String),它不包含任何字符。
     仅由一个或多个空格组成的串称为空白串(Blank String)。
  注意:
   
 空串和空白串的不同。
     【例】″ ″和″″分别表示长度为1的空白串和长度为0的空串。

3、子串和主串
     串中任意个连续字符组成的子序列称为该串的子串。包含子串的串相应地称为主串
     通常将子串在主串中首次出现时,该子串首字符对应的主串中的序号定义为子串在主串中的序号(或位置)。
  【例】设A和B分别为
            A="This is a string" 
            B="is"
   则B是A的子串,B在A中出现了两次。其中首次出现对应的主串位置是3。因此称B在A中的序号(或位置)是3。
  注意:
   
 ①空串是任意串的子串
     ②任意串是其自身的子串。

4、串变量和串常量
     通常在程序中使用的串可分为:串变量和串常量。
(1)串变量
     串变量和其它类型的变量一样,其取值是可以改变的。

(2)串常量
     串常量和整常数、实常数一样,在程序中只能被引用但不能改变其值。即只能读不能写。
  ①串常量由直接量来表示的:
    【例】Error("overflow")中"overflow"是直接量。
  ②串常量命名
     有的语言允许对串常量命名,以使程序易读、易写。
    【例】C++中,可定义串常量path
        const char path[]="dir/bin/appl";