数据结构(严版)课本代码重敲——第四章

复习笔记 数据结构 第四章 串

  1 #include <iostream>
  2 #include <string.h>
  3 #include <stdio.h>
  4 #include <stdlib.h>
  5 #define maxSize 20
  6 #define ERROR -1
  7 using namespace std;
  8 /*
  9     题目:数据结构 cha4 串
 10     内容:1. 赋值、取串长度、串比较、串连接、求子串
 11     日期:2018/3/11
 12     时间:tomato *
 13 
 14 */
 15 // 定长顺序存储
 16 typedef struct
 17 {
 18     char data[maxSize];
 19     int length;
 20 }str1;
 21 
 22 typedef struct
 23 {
 24     char *ch;
 25     int length;
 26 }Str;
 27 
 28 // 串比较
 29 int cmp(Str s1,Str s2)
 30 {
 31     for (int i=0; i<s1.length && i<s2.length ;i++)
 32     {
 33         if (s1.ch[i] != s2.ch[i])
 34             return s1.ch[i] - s2.ch[i];
 35     }
 36     return s1.length - s2.length;
 37 }
 38 // 串赋值
 39 int strassign(Str &str,char *ch)
 40 {
 41     if (str.ch)
 42         free(ch);// 如果str中存储着一个字符串则释放
 43     // 1. 判断ch的长度,若为0则不用赋值,否则赋值
 44     int i = 1;
 45     int len_ch=0;
 46     while (ch[i]!='