第八周--数据结构--顺序串算法
来源:互联网 发布:淘宝品控申诉 编辑:程序博客网 时间:2024/06/05 15:26
/*
*第八周--数据结构--顺序串算法
*Copyright (c) 2015 烟台大学计算机与控制工程学院
*All right reserved.
*文件名称:SqString.cpp,main.cpp,SqString.h
*writer:罗海员
*date:2015年11月08日
*版本:V1.0.1
*操作系统:windows8.1
*运行环境:GCC
*问题描述:采用顺序存储方式存储串,实现下列算法并测试
*输入描述:
*算法库包括两个文件:
*程序输出:
输出结果如下:
*第八周--数据结构--顺序串算法
*Copyright (c) 2015 烟台大学计算机与控制工程学院
*All right reserved.
*文件名称:SqString.cpp,main.cpp,SqString.h
*writer:罗海员
*date:2015年11月08日
*版本:V1.0.1
*操作系统:windows8.1
*运行环境:GCC
*问题描述:采用顺序存储方式存储串,实现下列算法并测试
*输入描述:
*算法库包括两个文件:
*程序输出:
*/
#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);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){ 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;}//测试函数int main(){ SqString s1, s2, s; StrAssign(s, "messages"); Trans(s, 'e', 'a'); DispStr(s); StrAssign(s, "abcdefg"); Invert(s); DispStr(s); StrAssign(s, "message"); DellChar(s, 'e'); DispStr(s); StrAssign(s1, "message"); StrAssign(s2, "agent"); s = CommChar(s1, s2); DispStr(s); return 0;}
输出结果如下:
0 0
- 第八周--数据结构--顺序串算法
- 第八周--数据结构--建立顺序串算法库
- 数据结构上机实践第八周项目3-顺序串算法
- 数据结构第八周项目三-顺序串算法
- 数据结构第八周项目2--顺序串算法
- 第八周项目三C/C++数据结构顺序串算法
- 数据结构第八周项目2--顺序串算法
- 第八周 数据结构实践——顺序串算法【项目3- 顺序串算法】
- 第八周--顺序串算法
- 第八周 顺序串算法
- 第八周 顺序串算法
- 第八周 顺序串算法
- 数据结构第八周项目——顺序表算法
- 第八周 数据结构实践项目——串 【项目1 - 建立顺序串的算法库】
- 第八周 数据结构实践项目——串 【项目1 - 建立顺序串的算法库
- 第八周项目一~数据结构之自建算法库——顺序串
- *第八周*数据结构实践项目一【建设顺序串算法库】
- 第八周项目一~数据结构之自建算法库——顺序串
- 哈理工院赛练习题 小瑞-开心消消乐 II
- Android Camera 使用小结
- Android读书笔记-----自定义View(2)实现
- Struts2的OGNL调用公共静态方法
- __builtin_expect 解惑
- 第八周--数据结构--顺序串算法
- Make 命令教程详解(转自阮一峰的个人博客)
- linux目录与文件的权限意义
- 中国人对科学的认识误区:从李约瑟难题到钱学森之问
- 机房重构——数据库
- iOS讲解迷惑--LeanCloud
- C++设计模式(二)单例模式
- 一张图说懂java中 private default protected public 的区别
- eclipse, Log4j配置(真心的详细~)