串的顺序存储表示
来源:互联网 发布:怎么开启数据网络 编辑:程序博客网 时间:2024/05/18 03:52
#include <stdio.h>#include<stdlib.h>#define Error 0#define Ok 1#define MAXSIZE 256typedef int Status;typedef struct {char str[MAXSIZE];int length;}SqString; //定义串的结构体,用一个数组存储串Status StrAssign(SqString &T,char chars[]){ //生成一个值等于chars的串Tint i,j;T.length=0;i=sizeof(chars)/sizeof(char);for(j=0;j<i;j++)T.str[j]=chars[j]; //将一个数组中的数据传递到一个串中T.length=i;return Ok;}Status StrLength(SqString T) //获取串T的长度{return T.length;}Status StrCope(SqString &T,SqString S) //将一个串中的值拷贝到另一个串中{int i;for(i=0;i<S.length;i++)T.str[i]=S.str[i];T.length=S.length;return Ok;}Status StrCompare(SqString s1,SqString s2) //将两个串的长度进行比较{if(s1.length>s2.length)printf("串一大于串二\n");else if(s1.length==s2.length)printf("串一等于串二\n");elseprintf("串一小于串二\n");return Ok;}Status Concat(SqString &T,SqString s1,SqString s2) //将两个串合并{int i,j;if(s1.length+s2.length>MAXSIZE)return Error;for(i=0;i<s1.length;i++)T.str[i]=s1.str[i];for(j=0;j<(s2.length);j++)T.str[s1.length+j]=s2.str[j];T.length=s1.length+s2.length;return Ok;}Status SubString(SqString &Sub,SqString s,int pos,int len) //从一个串中截取一个子串{int i,j;if((pos<1||pos>s.length)&&(len<0||len>s.length-pos+1))return Error;for(i=pos,j=0;j<len;i++,j++)Sub.str[j]=s.str[i-1];Sub.length=len;return Ok;}void print(SqString T) //输出串{int i;for(i=0;i<T.length;i++)printf("%c",T.str[i]);printf("\n");}void main(){SqString S,T,T2,T3,T4;int pos,len;char chars[]={'a','b','c','d'};char charss[]={'e','r','t','y'};StrAssign(T2,charss);StrAssign(T,chars);printf("串一为:");print(T);printf("串二为:");print(T2);StrCope(S,T);printf("复制串一后的串为:");print(S);printf("判断串一与串二的长度大小\n");StrCompare(T,T2);printf("将串一与串二连接为:");Concat(T3,T,T2);print(T3);printf("输入从合并后的串中在第几个位置截取几位作为子串");scanf("%d,%d",&pos,&len);SubString(T4,T3,pos,len);printf("子串为:");print(T4);getchar();getchar();}
串的定长顺序存储表示,就是用的普通的数组来存储串
这个是个简单的表示,没有用书上的算法,书上的还要考虑截断什么的,老师说那个没有必要,所以就按照这个写了
- 串的顺序存储表示
- 串的定长顺序存储表示
- 串的定长顺序存储表示
- 数组的顺序存储表示
- 栈的顺序存储表示
- 栈的顺序存储表示
- 数组的顺序存储表示
- “串”的定长顺序存储表示的实现
- 定长顺序存储的串的表示和实现
- 算法入门之串的顺序存储表示
- 稀疏矩阵的顺序存储结构表示
- 数组的顺序存储表示和实现
- 栈的静态顺序存储表示
- 栈的动态顺序存储表示
- 数据结构之栈的顺序存储表示
- 二叉树的表示链式表示和顺序存储3.0
- 数据结构--串--定长顺序存储表示
- 字符串的定长顺序存储表示与块链存储表示
- 没钱就变坏了,邪恶
- 字符串之间的大小比较方法
- SQL中全局变量和局部变量
- 数组的拷贝
- VC6.0读取Excel数据
- 串的顺序存储表示
- 4大开源协议
- 关于调试 part-3
- crontab
- Linux下C/C++版本发布自动脚本
- Android之旅一 了解Android基本信息
- [WARN]Warning: Multiple build commands for output file /
- 串的堆分配表示
- Robotruck