資料結構 串的順序儲存

2022-07-31 13:06:08 字數 2219 閱讀 7587

#include 

<

iostream

>

using

namespace

std;

#define

maxstrsize 256

typedef

struct

mystring

mystring;

/*掩飾符號型別。例如當需要定義多個包含80個元素的陣列a,b,c時,可以這樣定義:

typedef char array_eighty[80];

array_eighty a,b,c;

也可以這樣隱藏指標:

typedef char * pstr;

int mystrcmp(pstr, pstr);

*///

求串的長度

intstrlength(mystring &s)

//列印串

void

strprint(mystring &s)

else}}

//串複製

/*void strcopy(mystring &to,mystring &from)

return 0;}*/

//字元定位

/*void strlocate(mystring &s1,char c)

for(i=0

;i<

t.len;i++)

s.len

=s.len

+t.len;

s.str[s.len]='

\0';}

}//s串中從第 index 個字元開始的 len 個連續字元將被 t 替換

void

strrep(mystring

&s,

intindex,

intlen, mystring &t)

intmain()

;cout

<<

s1.len

<<

endl;

strprint(s1);

mystring s2=;

cout

<<

endl

<<

s2.len

<<

endl;

strprint(s2);

cout

<<

endl;

//複製串1到串3

//mystring s3;

//strcopy(s3,s1);

//cout<

//strprint(s3);

//cout<

//串2連線到串1

//strcat(s1,s2);

//cout<

//strprint(s1);

//串1和串2比較

/*int result=strcmp(s1,s2);

if(result>0)

cout<<"串1大於串2"<

*///

字元定位

//char ch;

//cin>>ch;

//strlocate(s1,ch);

//提取s1中的子串

//mystring sub1;

//sub1=strsub(s1, 6, 5);

//cout<

//strprint(sub1);

//cout<

//刪除s1中的子串

//strdel(s1, 5, 8);

//cout<

//strprint(s1);

//cout<

//向串s1中第index個位置插入串t

strinsert(s1,

5, s2);

cout

<<

s1.len

<<

endl;

strprint(s1);

cout

<<

endl;

//替換s1串中從第 index 個字元開始的 len 個連續字元

mystring t=;

strrep(s1,

16,

8, t);

cout

<<

s1.len

<<

endl;

strprint(s1);

cout

<<

endl;

return0;

}

資料結構 棧的順序儲存結構

什麼是棧?簡單的說是乙個後進先出的表,類似於彈夾,後入的子彈先打出來。下面是棧的一些具體操作步驟 首先是棧的結構定義 typedef int selemtype typedef struct sqstack,sq 棧的初始化 建立操作 sq initstack sq s s top 1 printf...

資料結構 串的順序儲存 動態分配)

5.小結 include include define maxlen 255 預定義最大串長為255typedef struct hstring 函式宣告 void initstring hstring s 1.初始化 void increasesize hstring s,int len 2.擴容...

資料結構之順序儲存

本篇主要講資料結構中的順序結構,具體 如下 望讀者自行分析 很容易讀懂 include includeusing namespace std char pause typedef int t templateclass list templatelist list int m templatelis...