最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++語言數(shù)據(jù)結(jié)構(gòu) 串的基本操作實(shí)例代碼

 更新時(shí)間:2017年04月15日 16:07:14   投稿:lqh  
這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu) 串的基本操作實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下

C語言數(shù)據(jù)結(jié)構(gòu) 串的基本操作實(shí)例代碼

輸出結(jié)果:

實(shí)現(xiàn)代碼:

#include<iostream>
using namespace std;
typedef int Status;
#define Max 20
#define OK 1
#define ERROR 0
#define OVERLOE -2
typedef struct//堆分配表示串
{
 char *ch;
 int length;
}HString;
//===================================================================
Status CreatHString(HString &H)//構(gòu)造字符串
{
 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)//求兩個(gè)字符串長度差(絕對值)
{
 cout << "兩個(gè)字符串的長度差為:" << 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個(gè)字符起長度為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 << "請輸入一個(gè)字符串(按回車鍵結(jié)束):" << endl;
 CreatHString(H);
 cout << "現(xiàn)在串中的字符為:" << endl;
 PrintHString(H);
 HStringLength(H);
 cout << "請?jiān)佥斎胍粋€(gè)字符串(按回車鍵結(jié)束):" << endl;
 CreatHString(T);
 HStringCompare(H, T);
 ConcatHString(S, H, T);
 cout << "現(xiàn)在串中的字符為:" << 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 << "檢驗(yàn)S清空后是否為空:" << endl;
 PrintHString(S);
}//main


相關(guān)文章

  • C語言將日期、時(shí)間保存到文本文件中的方法

    C語言將日期、時(shí)間保存到文本文件中的方法

    這篇文章主要給大家介紹了關(guān)于C語言將日期、時(shí)間保存到文本文件中的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C語言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 解析ActiveMQ的使用說明總結(jié)

    解析ActiveMQ的使用說明總結(jié)

    本篇文章是對ActiveMQ的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++實(shí)現(xiàn)map和set封裝詳解

    C++實(shí)現(xiàn)map和set封裝詳解

    歡迎閱讀本指南,將帶您深入了解C++中map和set的實(shí)現(xiàn)細(xì)節(jié),本文將重點(diǎn)介紹如何使用C++標(biāo)準(zhǔn)庫中的容器來優(yōu)化代碼,同時(shí)提供實(shí)用的示例和技巧,無論您是初學(xué)者還是資深開發(fā)者,本指南都將成為您掌握C++中map和set封裝的有力助手,需要的朋友可以參考下
    2024-03-03
  • C++中的基類和派生類構(gòu)造函數(shù)示例詳解

    C++中的基類和派生類構(gòu)造函數(shù)示例詳解

    這篇文章主要介紹了C++的基類和派生類構(gòu)造函數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • C/C++ MD5算法的實(shí)現(xiàn)代碼

    C/C++ MD5算法的實(shí)現(xiàn)代碼

    下面就將網(wǎng)上有關(guān)MD5算法一些知識(shí)整理一下,方面自己查閱,需要的朋友可以參考下
    2017-07-07
  • C++實(shí)現(xiàn)三子棋游戲詳細(xì)介紹(附代碼)

    C++實(shí)現(xiàn)三子棋游戲詳細(xì)介紹(附代碼)

    大家好,本篇文章主要講的是C++實(shí)現(xiàn)三子棋游戲詳細(xì)介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • 清除3389遠(yuǎn)程登錄日志

    清除3389遠(yuǎn)程登錄日志

    這篇文章主要介紹了清除3389遠(yuǎn)程登錄日志示例,需要的朋友可以參考下
    2014-01-01
  • C語言實(shí)現(xiàn)窗口抖動(dòng)

    C語言實(shí)現(xiàn)窗口抖動(dòng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)窗口抖動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • C++順序表實(shí)現(xiàn)圖書管理系統(tǒng)

    C++順序表實(shí)現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++順序表實(shí)現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C++11的functional模塊介紹和使用案例

    C++11的functional模塊介紹和使用案例

    functional模塊是C++ 11提供了一組函數(shù)對象和算法,用于增強(qiáng)C++的函數(shù)式編程能力,本文主要介紹了C++11的functional模塊介紹和使用案例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02

最新評論

清苑县| 大足县| 沧州市| 阜新| 道真| 澄迈县| 中宁县| 星子县| 拉孜县| 甘德县| 苏州市| 邓州市| 林芝县| 阳信县| 建宁县| 鄂托克旗| 上思县| 喀什市| 额敏县| 营口市| 托克逊县| 聂荣县| 抚宁县| 婺源县| 牟定县| 大港区| 江陵县| 蕲春县| 闽清县| 博野县| 张家界市| 宜黄县| 镇江市| 庄浪县| 阳东县| 聊城市| 和顺县| 金坛市| 岳阳县| 陵川县| 桦甸市|