定长顺序存储表示的串
撸了半早上代码 终于调试出来了
好多语句是对着书上的例子 顺便加了些自己的理解写出来的
注释里面也有好多乱七八糟的东东=。=
话不多说 上代码=。=
//定长结构的串
#include<stdio.h>
#define maxsize 100
//结构体定义
typedef struct{
//maxsize为已经定义的常量 表示串的最大长度 加一的原因是后面还要以0作为结束标记
char str[maxsize+1];
int length;
}Str;
//串的基本操作
//串的初始化
void initList(Str &s)
{
s.length=0;
}
//赋值操作,将常量字符串赋值给str
int srassign(Str &s,char ch[]){
int len=0;
for(int i=0;ch[i]!='\0';i++){
s.str[i]=ch[i];
len++;
}
s.length=len;
return 1;
}
//求字符串中元素个数
int getlength(Str s){
return s.length;
}
//串比较操作 结果返回大的数
int strcompare(Str s1,Str s2){
/*设两串a和b中的待比较字符分别为a和b,如果a的码小于b的码,返回a<b的标记,如果a的码大于b的码,返回a>b的标记
如果两个的码相等,则按照之前的规则比较两串中的下一个字符,在没有比较出a和b大小的情况下,先结束的串为较小的串
两串同时结束的时候返回两串相等标记*/
int i;
if(s1.length>s2.length)
return s1.length-s2.length;
if(s1.length&l