国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++語言數據結構 串的基本操作實例代碼

2020-05-23 13:47:30
字體:
來源:轉載
供稿:網友

C語言數據結構 串的基本操作實例代碼

輸出結果:

C語言數據結構,串的基本操作實例代碼,數據結構串

實現代碼:

#include<iostream>using namespace std;typedef int Status;#define Max 20#define OK 1#define ERROR 0#define OVERLOE -2typedef struct//堆分配表示串{ char *ch; int length;}HString;//===================================================================Status CreatHString(HString &H)//構造字符串{ H.length = 0; H.ch = (char *)malloc(Max*sizeof(char)); for (int i = 0; i < Max; i++) { H.ch[i]=getchar(); H.length++; if (getchar() == '/n')  break; } return OK;}//CreatHString//===================================================================Status PrintHString(HString H)//輸出所輸入的字符串{ if (H.length == 0) { cout << "空串!" << endl; return ERROR; } else for (int i = 0; i < H.length; i++)  cout << H.ch[i] << " "; cout << endl; return OK;}//PrintHString//===================================================================Status HStringLength(HString H)//求字符串的長度{ cout << "您輸入的字符串長度為:" << endl; cout << H.length << endl; return OK;}//HStringLength//===================================================================Status HStringCompare(HString H, HString T)//求兩個字符串長度差(絕對值){ cout << "兩個字符串的長度差為:" << endl; int L; L = H.length - T.length; if (L<0) cout << -L << endl; if (L>=0) cout << L << endl; return OK;}//HStringCompare//===================================================================Status ConcatHString(HString &S, HString H, HString T)//鏈接H和T{ if (!(S.ch = (char *)malloc((H.length + T.length)*sizeof(char)))) exit(OVERLOE); for (int i = 0; i < H.length; i++) S.ch[i] = H.ch[i]; S.length = H.length + T.length; for (int j = H.length; j < S.length; j++) S.ch[j] = T.ch[j-H.length]; return OK;}//ConcatHString//===================================================================Status SubHString(HString &Sub, HString S, int pos,int len){//用Sub返回串S的第pos個字符起長度為len的子串 if (pos<1 || pos>S.length) { cout << "輸入的位置有誤!" << endl; return ERROR; } if (len<0 || len>S.length - pos + 1) { cout << "輸入的長度有誤!" << endl; return ERROR; } if (!len) { Sub.ch == NULL; Sub.length = 0; } else { Sub.ch = (char *)malloc(len*sizeof(char)); for (int i = 0; i < len ; i++)  Sub.ch[i] = S.ch[pos + i - 1]; Sub.length = len; } return OK;}//SubHString//===================================================================Status ClearHString(HString &H)//將H清為空串{ if (H.ch) { free(H.ch); H.ch = NULL; } H.length = 0; return OK;}//ClearHString//===================================================================void main(){ HString S,H,T; cout << "請輸入一個字符串(按回車鍵結束):" << endl; CreatHString(H); cout << "現在串中的字符為:" << endl; PrintHString(H); HStringLength(H); cout << "請再輸入一個字符串(按回車鍵結束):" << endl; CreatHString(T); HStringCompare(H, T); ConcatHString(S, H, T); cout << "現在串中的字符為:" << endl; PrintHString(S); HString Sub; int pos, len; cout << "請輸入截取位置pos及長度len:" << endl; cin >> pos >> len; SubHString(Sub, S, pos, len); cout << "截取的子串為:" << endl; PrintHString(Sub); ClearHString(S); cout << "檢驗S清空后是否為空:" << endl; PrintHString(S);}//main


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 古丈县| 西乡县| 林周县| 涪陵区| 罗源县| 大城县| 宜兰市| 会同县| 麦盖提县| 荔浦县| 乌恰县| 沂南县| 会宁县| 偃师市| 孝昌县| 偏关县| 高碑店市| 涡阳县| 七台河市| 宣城市| 宜君县| 色达县| 黑河市| 呼图壁县| 香港 | 老河口市| 定兴县| 新兴县| 县级市| 南丹县| 马公市| 盱眙县| 乐业县| 丰宁| 广南县| 毕节市| 通许县| 黔西| 嵩明县| 宁国市| 东莞市|