数据结构实践——顺序串算法
来源:互联网 发布:数据实时同步 编辑:程序博客网 时间:2024/04/30 03:06
/* * Copyright (c) 2015, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称: SqString.cpp,main.cpp,SqString.h * 作者:唐子健 * 完成日期:2015年10月26日 * 版本号:codeblocks * * 问题描述: 采用顺序存储方式存储串,实现下列算法并测试: * 输入描述:无* 程序输出:见下面的运行结果*/ #ifndef SQSTRING_H_INCLUDED#define SQSTRING_H_INCLUDED#include <stdio.h>#include <malloc.h>#define MaxSize 100 //最多的字符个数typedef struct{ char data[MaxSize]; //定义可容纳MaxSize个字符的空间 int length; //标记当前实际串长} SqString;void StrAssign(SqString &s,char cstr[]); //字符串常量cstr赋给串sint StrLength(SqString s); //求串长void DispStr(SqString s); //输出串void Trans(SqString &s, char c1, char c2);void Invert(SqString &s);void DellChar(SqString &s, char c);SqString CommChar(SqString s1,SqString s2);#endif // SQSTRING_H_INCLUDED
<p>#include "SqString.h"void StrAssign(SqString &s,char cstr[]){ int i; for(i=0;cstr[i]!='\0';i++) { s.data[i]=cstr[i]; } s.length=i;}int StrLength(SqString s){ return s.length;}void DispStr(SqString s){ int i; if(s.length>0) { for(i=0;i<s.length;i++) printf("%c",s.data[i]); printf("\n"); }}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){</p><p> int i,k=0; for(i=0;i<s.length;i++) { if(s.data[i]==c) { continue; } else { s.data[k]=s.data[i]; k++; } } s.length=k;}SqString CommChar(SqString s1,SqString s2){ int i,j,k=0; for(i=0;i<s1.length;i++) { for(j=0;j<s2.length;j++) if(s1.data[i]==s2.data[j]) { break; } if(j<s2.length) { s1.data[k]=s1.data[i]; k++; } } s1.length=k; return s1;}</p><p>#include "SqString.h"int main(){ SqString s1, s2, s; StrAssign(s, "messages"); Trans(s, 'e', 'a'); DispStr(s);</p><p> StrAssign(s, "abcdefg"); Invert(s); DispStr(s);</p><p> StrAssign(s, "message"); DellChar(s, 'e'); DispStr(s);</p><p> StrAssign(s1, "message"); StrAssign(s2, "agent"); s = CommChar(s1, s2); DispStr(s); return 0;</p><p>}</p><p><img src="http://img.blog.csdn.net/20151026163708661?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p>
0 0
- 数据结构实践——顺序串算法
- 数据结构实践——顺序串算法
- 数据结构实践——建立顺序串的算法库
- 第八周 数据结构实践——顺序串算法【项目3- 顺序串算法】
- 数据结构实践——建立顺序栈算法库
- 数据结构实践——建立顺序环形队列算法库
- 第八周 数据结构实践项目——串 【项目1 - 建立顺序串的算法库】
- 第八周 数据结构实践项目——串 【项目1 - 建立顺序串的算法库
- 数据结构实践项目——顺序表
- 数据结构实践——顺序表应用
- 数据结构实践——顺序表应用
- 数据结构上机实践第八周项目3-顺序串算法
- 第六周 数据结构实践项目——栈【项目1 - 建立顺序栈算法库】
- 第八周实践项目3—顺序串算法
- 数据结构—顺序串
- 数据结构之自建算法库——顺序串
- 数据结构与算法——顺序栈
- 数据结构算法——顺序表
- javascript之DOM操作
- LightOJ 1258 - Making Huge Palindromes (KMP)
- 第九周项目1-猴子选大王
- 反复修改才能创造出优秀的代码
- android studio 中 .9.png的制作
- 数据结构实践——顺序串算法
- 正则表达式的贪婪匹配和非贪婪匹配
- 第八周上机实践项目5 - 计数的模式匹配
- Log4j详细使用教程
- linux下oracle创建用户步骤
- test credit card account
- 第八周 项目1-建立顺序串的算法库
- 第9周、项目1—猴子选大王(数组版)
- 第8周实践项目4-字符串加密