回覆列表
  • 1 # 使用者7063786766555

    一、串定義

      串(或字串),是由零個或多個字元組成的有限序列。一般記為:

      s="a1a2...an"(n=0)

      其中s是串的名,用單引號括起來的字元序列是串的值;串中字元的數目n稱為串的長度。零個字元的串稱為空串,它的長度為零。

      串中任意個連續的字元組成的子序列稱為該串的子串。包含子串的串相應地稱為主串。通常稱字元在序列中的稱為該字元在串中的位置。子串在主串中的位置則以子串的第一個字元在主串中的位置來表示。

      例:a="BEI",b="JING",c="BEIJING",d="BEI JING"

      串長分別為3,4,7,8,且a,b都是c,d的子串。

      稱兩個串是相等的,當且僅當這兩個串的值相等。

      二、串的抽象資料型別的定義:

      ADT String{

      資料物件:D={ai|ai(-CharacterSet,i=1,2,...,n,n=0}

      基本操作:

      StrAssign(T,chars)

      chars是字元常量。生成一個其值等於chars的串T。

      StrCopy(T,S)

      串S存在則由串S複製得串T

      StrEmpty(S)

      串S存在則若S為空串,返回真否則返回假

      StrCompare(S,T)

      串S和T存在,若ST,則返回值大於0,若S=T,則返回值=0,若S

      StrLength(S)

      串S存在返回S的元素個數稱為串的長度.

      ClearString(S)

      串S存在將S清為空串

      Concat(T,S1,S2)

      串S1和S2存在用T返回由S1和S2聯接而成的新串

      SubString(Sub,S,pos,len)

      串S存在,1=pos=StrLength(S)且0=len=StrLength(S)-pos+1

      Index(S,T,pos)

      串S和T存在,T是非空,1=pos=StrLength(S),若主串S中存在和串T值相同的子串,則返回它在主串S中第pos個字元之後第一次出現的位置,否則函式值為0

      Replace(S,T,V)

      串S,T和V存在,T是非空串,用V替換主串S中出現的所有與T相等的不重疊的子串

      StrInsert(S,pos,T)

      串S和T存在,1=pos=StrLength(S)+1,在串S的第pos個字元之前插入串T

      StrDelete(S,pos,len)

      DestroyString(S)

      串S存在,則串S被銷燬

      }ADT String

      三、串操作應用舉例:

      1文字處理中常用的:串的查詢(比較,定位)與替換

      在TC整合環境中可用^QF快速查詢變數 在WORD中可用搜索與替換批次改變文字

      2串的截斷與連線

      可用求子串及串連線的方法進行文字處理

  • 中秋節和大豐收的關聯?
  • 關於電線接觸不良冒火花問題?