#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...