问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数据结构字符串的操作2

发布网友 发布时间:2023-11-23 04:15

我来回答

2个回答

热心网友 时间:2024-11-26 08:45

#include<iostream>using namespace std;#define MAXSIZE 20typedef char String[MAXSIZE + 1]; //以'\0'结尾/* 生成一个串*/bool StrAssign(String Dest, char *ptr)
{ cout << "Assign Str ..." << endl; int i; for (i = 0; ptr[i] != '\0' && i < MAXSIZE; i++)
Dest[i] = ptr[i];
Dest[i] = '\0'; return true;
}/* 拷贝一个字符串 */bool StrCopy(String Dest, String Src)
{ cout << "Copy Str ..." << endl; int i; for (i = 0; Src[i] != '\0' && i < MAXSIZE; i++)
Dest[i] = Src[i];
Dest[i] = '\0'; return true;
}int StrLength(String Src)
{ int i = 0; while (Src[i] != '\0')
i++; return i;
}bool StrEmpty(String Src)
{ if (StrLength(Src) == 0) return true; else
return false;

}/* 若Str1>Str2,则返回值>0;若Str1=Str2,则返回值=0;若Str1<Str2,则返回值<0 */int StrCompare(String Str1, String Str2)
{ int len1 = StrLength(Str1); int len2 = StrLength(Str2); for (int i = 0; i < len1 && i < len2; i++) if (Str1[i] != Str2[i]) return Str1[i] - Str2[i]; return len1 - len2;
}bool ClearString(String Src)
{ for (int i = 0; Src[i] != '\0'; i++)
Src[i] = '\0'; return true;
}/* 用Dest返回Str1和Str2联接而成的新串。若未截断,则返回TRUE,否则FALSE */bool StrConcate(String Dest, String Str1, String Str2)
{ cout << "Concate String ..." << endl; if (StrLength(Str1) + StrLength(Str2) <= MAXSIZE)
{ /* 未截断 */
int i, j; for (i = 0; Str1[i] != '\0'; i++)
Dest[i] = Str1[i];
j = i; for (i = 0; Str2[i] != '\0'; i++, j++)
Dest[j] = Str2[i];
Dest[j] = '\0'; return true;
} else //截断Str2
{ int i, j; for (i = 0; Str1[i] != '\0'; i++)
Dest[i] = Str1[i];
j = i; for (i = 0; Str2[i] != '\0' && j <= MAXSIZE - 1; i++, j++)
Dest[j] = Str2[i];
Dest[j] = '\0'; return false;
}

}/* 用Sub返回串Src的第pos个字符起长度为len的子串。 */bool SubString(String Sub, String Src, int pos, int len)
{ /*cout<<"Get SubString ..."<<endl;*/
if (pos < 1 || pos > StrLength(Src) ||
len < 0 || len > StrLength(Src) - pos + 1) return false; int i; for (i = 0; i <= len - 1; i++)
Sub[i] = Src[i + pos - 1];
Sub[i] = '\0'; return true;
}/* 返回子串Sub在主串Src中第pos个字符之后的位置。若不存在,则函数返回值为0。 */int Index1(String Src, String Sub, int pos)
{ int len1 = StrLength(Src); int len2 = StrLength(Sub); int i = pos;
String sub; if (pos > 0)
{ while (i <= len1 - len2 + 1)
{
SubString(sub, Src, i, len2); /* 如果两串相等 , 则返回i值 */
if (StrCompare(Sub, sub) == 0) return i; else/* 如果两串不相等,前进位置 */
i++;
}
} return 0;
}

热心网友 时间:2024-11-26 08:46

创建数组 保存数据 我就不写了哈
(2)将字符串Srting2的头n个字符添加到String1的尾部。输出结
string1.Insert(string.Length - 1, string2.Substring(0, n))
(3)查找串String3在串String1中的位置,若String3在String1中不存在。则插入String3在String1中的m位置上。输出结果。
if(string1.Contains(string3))
{
string1.IndexOf(string3);
}
else

{
string1.insert(m,string3);
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 急求美国派系列的迅雷种子或者RF下载地址!!!921981425@qq.com... ipadmini重启后屏幕变大,怎么解锁? 修改未满一年怎么修改 请问一个手机号注册了两个,但登不上另一个怎么办啊? 修改未满一年怎么修改 修改没到一年怎么改? 一个手机注册两个,第一个怎么找一个手机注册两个,第一个... 广州北京路天河城百货最近哪个地铁站出口? 碱性和酸性,以及负离子有什么关系??? hoca是酸性还是碱性3 QT程序动态编译加入需要的.dll和插件qwindows.d... 中国四大名著都有哪四大名著作者是谁故事是什么 锻炼身体,晨跑和吃完晚饭后跑步哪个会更好一些? 之前用惯了单反相机,不知道索尼RX10M4的操控怎样? 学生对教师评价怎样写? 男生对你说喜欢你但是现在谈爱还太早的男人 签证中的Employer到底是公司还是雇主的意思2 如何一年内强制二次修改? 不满一年如何更改? 300升水有多少斤34 一叶子面膜14岁能用吗2 东风恶的读音是什么? 酸碱性是什么意思?19 请问茶园坐公交车去南山金竹村夏家咀村民小组 手机用了不到一年闪屏贼严重 晚上跟蹦迪灯一样 手机没绊过 怎么会出现... 观察目标怎么写 N厂手表官网是noobwatchfk吗?10 电镀行业新出的整改标准,大概54条。有谁知道?分享一下!谢谢了!_百度... 7788怎样参加拍卖我要参加 轿车前胎一般气压多少 三星手机触摸声音和键盘声音都开了却没有声音是怎么回事怎么处理... 热电偶延长线怎么计算? 欧舒丹樱花身体乳有美白效果吗? 200平米独立基础工程量一般为多少吨 我一个手机号注册了两个,另外一个登不上了,怎么办? 从重庆邮电大学到茶园新区怎么坐公交车,最快需要多久 没到一年怎么申请改? 怎样用手机注册第二个 1升水是多少斤?378 索尼RX10M4相机好用吗?小白适不适合用来摄影?