Error[8]: Undefined offset: 609, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

//
// Created by 48272 on 2022/4/20.
//
#include 

using namespace std;
const int MAXSIZE = 20;

typedef struct {
    char data[MAXSIZE];
    int length;
}String;

void Init(String &s);
void StrCopy(String &T, String s);
bool StrEmpty(String s);
int StrLength(String s);
void ClearString(String &s);
void DestroyString(String &s);
bool Concat(String &t, String s1, String s2);
bool SubString(String &t, String s, int pos, int length);
int Index(String s, String t);
bool StrCompare(String s, String t);
void print(String s);

int main(void) {
    String s,t,st;
    Init(s);
    s.data[1] = 'w';
    s.data[2] = 'o';
    s.data[3] = 'a';
    s.data[4] = 'i';
    s.data[5] = 'n';
    s.data[6] = 'i';
    s.length = 6;

    printf("==================================================\n");
    StrCopy(t,s);
    printf("执行StrCopy后:");
    print(t);
    printf("==================================================\n");
    printf("t是否为空:%d\n", StrEmpty(t));

    printf("==================================================\n");
    Concat(st,s,t);
    printf("执行过Concat后 st:");
    print(st);

    printf("==================================================\n");
    SubString(t,s,4,2);
    printf("执行完Substring后:");
    print(t);

    printf("==================================================\n");
    printf("比较t && s %d\n", StrCompare(t,s));

    int index = Index(s,t);
    if (index == -1) printf("未找到!\n");
    else printf("t在s中的位置是%d\n",index);

}

void Init(String &s) {
    s.length = 0;
}
void StrCopy(String &T, String s) {
    for (int i = 1; i <= s.length; i++) T.data[i] = s.data[i];
    T.length = s.length;
}
bool StrEmpty(String s) {
    return s.length < 1;
}
int StrLength(String s) {
    return s.length;
}
void ClearString(String &s) {
    s.length = 0;
}
void DestroyString(String &s){
    for (int i = 1; i <= s.length; i++) s.data[i] = ';'.
    s=length 0 ;}
bool

Concat (&String ,t, String s1) String s2. {
    t=length . s1+length . s2;lengthint
    = i 1 ;for
    ( ;<= i . s1;length++ i). t[data]i= . s1[data]i;for
    ( ;<= i . t;length++ i). t[data]i= . s2[data-i . s1]length;return
    true ;}
bool
SubString (&String ,t, String sint , posint ) lengthif {
    ( +pos - length 1 . > s)lengthreturn false ;for

    ( int= i ; pos< i + pos ; length++ i). t[data-i + pos 1 ]= . s[data]i;.
    t=length ; lengthreturn
    true ;}
bool
StrCompare (,String s) String tfor {

    ( int= i 1 ;<= i . s;length++ i)if {
        ( .s[data]i!= . t[data]i)return . s[data]i- . t[data]i;}
    //此时遍历完S,我们不知道T是否还有剩余元素
    return
    . s-length . t;length}
//返回 t在s中的位置
int
Index (,String s) String tint {
    = length1 StrLength ()s;int
    = length2 StrLength ()t;if
    ( )length2 > length1return - 1;int

    = i 1 ;;
    String subwhile
    ( <=i ( -length1 + length2 1  ))SubString {
        (,sub,s,i)length2;print
        ()sub;if

        ( StrCompare(,sub) t== 0 )return ; i++

        i;}
    return
    - 1;}
void

print ()String sfor {
    ( int= i 1 ;<= i . s;length++ i)printf ("%c",.s[data]i);printf
    ("\n");}
[+++]

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 29, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
【23王道数据结构】串的基本 *** 作_C_内存溢出

【23王道数据结构】串的基本 *** 作

【23王道数据结构】串的基本 *** 作,第1张

//
// Created by 48272 on 2022/4/20.
//
#include 

using namespace std;
const int MAXSIZE = 20;

typedef struct {
    char data[MAXSIZE];
    int length;
}String;

void Init(String &s);
void StrCopy(String &T, String s);
bool StrEmpty(String s);
int StrLength(String s);
void ClearString(String &s);
void DestroyString(String &s);
bool Concat(String &t, String s1, String s2);
bool SubString(String &t, String s, int pos, int length);
int Index(String s, String t);
bool StrCompare(String s, String t);
void print(String s);

int main(void) {
    String s,t,st;
    Init(s);
    s.data[1] = 'w';
    s.data[2] = 'o';
    s.data[3] = 'a';
    s.data[4] = 'i';
    s.data[5] = 'n';
    s.data[6] = 'i';
    s.length = 6;

    printf("==================================================\n");
    StrCopy(t,s);
    printf("执行StrCopy后:");
    print(t);
    printf("==================================================\n");
    printf("t是否为空:%d\n", StrEmpty(t));

    printf("==================================================\n");
    Concat(st,s,t);
    printf("执行过Concat后 st:");
    print(st);

    printf("==================================================\n");
    SubString(t,s,4,2);
    printf("执行完Substring后:");
    print(t);

    printf("==================================================\n");
    printf("比较t && s %d\n", StrCompare(t,s));

    int index = Index(s,t);
    if (index == -1) printf("未找到!\n");
    else printf("t在s中的位置是%d\n",index);

}

void Init(String &s) {
    s.length = 0;
}
void StrCopy(String &T, String s) {
    for (int i = 1; i <= s.length; i++) T.data[i] = s.data[i];
    T.length = s.length;
}
bool StrEmpty(String s) {
    return s.length < 1;
}
int StrLength(String s) {
    return s.length;
}
void ClearString(String &s) {
    s.length = 0;
}
void DestroyString(String &s){
    for (int i = 1; i <= s.length; i++) s.data[i] = ';'.
    s=length 0 ;}
bool

Concat (&String ,t, String s1) String s2. {
    t=length . s1+length . s2;lengthint
    = i 1 ;for
    ( ;<= i . s1;length++ i). t[data]i= . s1[data]i;for
    ( ;<= i . t;length++ i). t[data]i= . s2[data-i . s1]length;return
    true ;}
bool
SubString (&String ,t, String sint , posint ) lengthif {
    ( +pos - length 1 . > s)lengthreturn false ;for

    ( int= i ; pos< i + pos ; length++ i). t[data-i + pos 1 ]= . s[data]i;.
    t=length ; lengthreturn
    true ;}
bool
StrCompare (,String s) String tfor {

    ( int= i 1 ;<= i . s;length++ i)if {
        ( .s[data]i!= . t[data]i)return . s[data]i- . t[data]i;}
    //此时遍历完S,我们不知道T是否还有剩余元素
    return
    . s-length . t;length}
//返回 t在s中的位置
int
Index (,String s) String tint {
    = length1 StrLength ()s;int
    = length2 StrLength ()t;if
    ( )length2 > length1return - 1;int

    = i 1 ;;
    String subwhile
    ( <=i ( -length1 + length2 1  ))SubString {
        (,sub,s,i)length2;print
        ()sub;if

        ( StrCompare(,sub) t== 0 )return ; i++

        i;}
    return
    - 1;}
void

print ()String sfor {
    ( int= i 1 ;<= i . s;length++ i)printf ("%c",.s[data]i);printf
    ("\n");}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/713555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存