資料結構基礎之串的定義與作用

來源:互聯網
上載者:User

資料結構基礎之串的定義與作用

   一、串定義

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

  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}

  資料關係:R1={|ai-1,ai(-D,i=2,...,n}

  基本操作:

  StrAssign(&T,chars)

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

  StrCopy(&T,S)

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

  StrEmpty(S)

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

  StrCompare(S,T)

  串S和T存在,若S>T,則傳回值大於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)

  串S存在,1<=pos<=StrLength(S)-len+1從串中刪除第pos個字元起長度為len的子串

  DestroyString(&S)

  串S存在,則串S被銷毀

  }ADT String

  三、串操作應用舉例:

  1文文書處理中常用的:串的尋找(比較,定位)與替換

  在TCIntegration Environment中可用^QF快速尋找變數 在WORD中可用搜尋與替換批量改變文本

  2串的截斷與串連

  可用求子串及串聯接的方法進行文文書處理

  四、總結

  找出幾個自己親自做過的串操作例子。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.