/**
* 实验题目:
* 实现顺序串各种基本运算的算法
* 实验目的:
* 领会顺序串存储结构和掌握顺序串中各种基本运算的算法设计
* 实验内容:
* 实现顺序串的各种基本运算
* 1、建立串s="abcdefghijklmn"和串s1="123"
* 2、输出串s
* 3、输出串s的长度
* 4、在串s的第9个字符位置插入串s1而产生串s2
* 5、输出串s2
* 6、删除串s第2个字符开始的3个字符而产生串s2
* 7、输出串s2
* 8、将串s第2个字符开始的5个字符替换成串s1而产生串s2
* 9、输出串s2
* 10、提取串s的第2个字符开始的10个字符而产生串s3
* 11、输出串s3
* 12、将串s1和串s2连接起来而产生串s4
* 13、输出串s4
*/
#include <stdio.h>
#define MAX_SIZE 100
typedef struct
{
char data[MAX_SIZE]; // 串中字符
int length; // 串长
}SqString; // 声明顺序串类型
/*-----------------将字符串常量赋给串s--------------------*/
static void str_assign(SqString &s, char cstr[])
{
int i;
for(i = 0; cstr[i] != '\0'; i++)
s.data[i] = cstr[i];
s.length = i;
}
/*-----------------销毁串--------------------*/
static void destroy_str(SqString &s)
{
}
/*-----------------串复制--------------------*/
static void str_copy(SqString &s, SqString t)
{
int i;
for(i = 0; i < t.length; i++)
s.data[i] = t.data[i];
s.length = t.length;
}
/*-----------------判断串相等--------------------*/
static bool str_equal(SqString s, SqString t)
{