C語言實現串的順序儲存表示與基本操作

2022-09-24 12:54:10 字數 1820 閱讀 1299

串,即:字串。要注意的是,c語言中是沒有字串資料型別的,而將其作為一種資料結構——「內容受限的線性表」進行實現,並對空串、空格串、串的長度、子串與主串等概念進行了約定【詳見 《資料結構(c語言版)》 ,嚴蔚敏、吳偉民編著】。

串的儲存表示主要分為三種:

順序儲存表示 :使用字元型陣列(一塊連續的記憶體儲存空間)來儲存串的內容程式設計客棧,其最大長度已經定義則不可修改;(這也是c語言中初始約定好的一種較為字串內容的表示方式)

堆分配儲存表示:使用malloc和free函式對堆區進行操作,進行堆區記憶體的動態分配與釋放,而這塊儲存空間就用於儲存串的內容;

塊鏈儲存表示:即採用鍊錶的形式,通過指標,將位於不同儲存空間的多個字串「碎片」進行連線,「拼湊」成為乙個完整的串

在此只介紹第一種,即:串的順序儲存表示。

這部分就直接貼**了

【因為這裡是對陣列元素的操作,就偷個懶,直接用了c語言string.h標頭檔案中提供的一些庫函式,對一些基本操作進行了簡單實現。需要詳細寫**的部分到串的堆分配實現時候再體現】

2.1 標頭檔案宣告

/*** 串的順序儲存實現

*/#include

#define maxlen 255

//結構體定義-表示串結構體

typedef structsstring;

/** * 將字串t複製為chars

*/int strassigns(sstring* t,char* chars);

/** * 獲取vmmhxk字串長度

*/int strlengths(sst程式設計客棧ring t);

/** * 字串的判空操作

*/int strisemptys(sstring t);

/** * 串連線操作

*/int strconcats(sstring* t,char* s1,char* s2);

/** * 擷取子串

*/int substrings(sstring* t,sstring src,int pos,int len);

/** * 串清空

*/int clearstrings(sstring* t);

/** * 串比較

*/int strcompares(sstring t1,sstring t2);

2.2 函式實現

#include "sstring.h"

/** * 將字串t複製為chars

*/int strassigns(sstring* t,char* chars)

/** * 字串的判空操作

*/int strisemptys(sstring t)

/** * 獲取字串長度

*/int strlengths(sstring t)

/** * 串連線操作

*/int strconcats(sstring* t,char* s1,char* s2)

/** * 擷取子串

*/int substrings(sstring* t,sstring src,int pos,int len)

/** * 串比較

*/int strcompares(sstring t1,sstring t2)

/** * 串清空

*/int clearstrings(sstring* t)

2.3 函式測試

#include

#inc程式設計客棧lude

#include "sstring.h"

int main(int argc,char **ar**)

貼上測試結果的截圖:

本文標題: c語言實現串的順序儲存表示與基本操作

本文位址:

串的定長順序儲存表示與實現(c語言)

include pch.h include include include include define maxlen 225 define false 0 define true 1 字串順序表示 靜態儲存 typedef struct sstring 構造串 intstrassign sstri...

串的定長順序儲存C語言實現

串 字串 是由0個或多個字元組成的有限序列。0個字元時稱為空串。由乙個或多個空格組成的串 稱為空格串。串中字元的數目n稱為串的長度 串中任意個連續的字元組成的子串行稱為該串的字串 包含字串的串相應的稱為主串 通常稱字元在序列中的序號稱為該字元在串中的位置。字串在主串中的位置則以字串的第乙個字元在主串...

C語言實現棧的順序儲存與鏈式儲存

一 實驗目的 1.深入了解棧的定義和特性。2.掌握棧的順序表示 鍊錶表示以及相應操作的實現,鞏固對這兩種結構的構造方法的掌握。3.會靈活運用棧結構解決某些實際問題。二 實驗內容 1.棧的基本操作的實現 初始化 賦值 取值 插入 刪除等 要求分別採用順序和鏈式儲存結構。順序棧源程式 include i...