第8周项目3-顺序串算法
来源:互联网 发布:搞笑p图软件 编辑:程序博客网 时间:2024/04/30 10:28
问题及代码:
/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:1.cpp 作 者:路亚丽 完成日期:2016年10月20日 版 本 号:v1.0 问题描述:(1)试编写算法实现将字符串S中所有值为c1的字符换成值为c2的字符: void Trans(SqString *&s, char c1, char c2); (2)试编写算法,实现将已知字符串所有字符倒过来重新排列。如ABCDEF改为FEDCBA。 (3)从串s中删除其值等于c的所有字符。如从message中删除’e’,得到的是mssag。 (4)有两个串s1和s2,设计一个算法求一个这样的串,该串中的字符是s1和s2中公共字符。 所谓公共子串,是由在s1中有,且在s2中也有的字符构成的字符。例s1为”message”,s2为”agent”,得到的公共子串是”eage”。 输入描述: 无 程序输出: 相应数据 */头文件及功能函数详情请见顺序串算法库
代码:
#include "sqstring.h"void Trans(SqString &s, char c1, char c2);void Invert(SqString &s);void DellChar(SqString &s, char c);SqString CommChar(SqString s1,SqString s2);void Trans(SqString &s, char c1, char c2){ int i; for (i=0; i<s.length; i++) if (s.data[i]==c1) s.data[i]=c2;}void Invert(SqString &s){ int i; char temp; for (i=0; i<s.length/2; i++) { temp = s.data[i]; s.data[i]=s.data[s.length-i-1]; s.data[s.length-i-1] = temp; }}void DellChar(SqString &s, char c){ int k=0, i=0; //k记录值等于c的字符个数 while(i<s.length) { if(s.data[i]==c) k++; else s.data[i-k]=s.data[i]; i++; } s.length -= k;}SqString CommChar(SqString s1,SqString s2){ SqString s3; int i,j,k=0; for (i=0; i<s1.length; i++) { for (j=0; j<s2.length; j++) if (s2.data[j]==s1.data[i]) break; if (j<s2.length) //s1.data[i]是公共字符 { s3.data[k]=s1.data[i]; k++; } } s3.length=k; return s3;}int main(){ SqString s,s1,s2,s3; printf("替换前的串为:\n"); StrAssign(s,"helloworld"); DispStr(s); printf("(1)替换后的串为:\n"); Trans(s,'o','a'); DispStr(s); printf("(2)倒置后的串为:\n"); Invert(s); DispStr(s); printf("(3)删除后的串为:\n"); DellChar(s,'a'); DispStr(s); StrAssign(s1, "helloworld"); printf("(4)串s1为:\n"); DispStr(s1); StrAssign(s2, "hellohey"); printf(" 串s2为:\n"); DispStr(s2); s3 = CommChar(s1, s2); printf(" 串s3为:\n"); DispStr(s3); return 0;}
运行结果:
知识点总结:
顺序串算法的扩展
学习心得:
熟练地掌握顺序串的基本操作才能更好的应用顺序串
0 0
- 第8周项目 顺序串算法
- 第8周、项目3(3)—顺序串算法
- 第8周项目3 顺序串算法(3)
- 第8周项目3-顺序串算法(3)
- 第8周 项目3—顺序串算法
- 第8周实践项目3-顺序串算法
- 第8周、项目3(1)—顺序串算法
- 第8周项目3-顺序串算法
- 第8周、项目3(2)—顺序串算法
- 第8周 项目3-顺序串算法
- 第8周、项目3(4)—顺序串算法
- 第8周项目3顺序串算法
- 第8周项目3-顺序串算法
- 第8周 项目 3 - 顺序串算法
- 第8周项目3顺序串算法
- 第8周项目3-顺序串算法
- 第8周 项目3 - 顺序串算法
- 第8周项目3 顺序串算法
- spark reparation和coalesce
- 第8课:<span>标签为文字设置单独样式
- NYOJ-104-最大和(DP)
- 参数调用的三种方式
- android 中 webview 怎么用 localStorage?
- 第8周项目3-顺序串算法
- 数据库入门—T-SQL(2)
- 27款实用高效的腾讯热门开源项目推荐
- 在用微博SDK出现的崩溃
- java学习笔记之webservice(四)--用Myeclipse在web项目中发布WebService
- 欧拉法、预估校正法(改进的欧拉法)与四阶龙格库塔法求解常微分方程的数值解C++程序
- Web Dynpro公开课学习
- 魔镜VR,如何使UI在视野中左右静止,上下旋转
- 从零开始学习GitHub系列