数据结构之串

学习串的时候写的一点笔记

方便自己复习,也希望能给需要这个的人一点帮助

代码如下:

复制代码
#include<bits/stdc++.h>//万能头文件,G++编译器
#define maxsize 1024
using namespace std;
int strlenth (char s[])//s代表目标串
{
    int i=0;
    while(s[i]!='\0')
    {
        i++;
    }
    return i;
}//求串的长度算法
int strconcat(char s1[],char s2[],char s[])//s1,s2代表需要连接的目标串,s2连接在s1的后面,s代表连接之后的结果串
{
    int i=0,j,len1,len2;
    len1=strlenth(s1);
    len2=strlenth(s2);
    if(len1+len2>maxsize)
        return 0;//长度不够
    i=0;
    while(s1[i]!='\0')
    {
        s[i]=s1[i];
        i++;
    }
    j=0;
    while(s2[j]!='\0')
    {
        s[i]=s2[j];
        j++;
        i++;
    }
    s[i]='\0';
    return 1;
}//两个串的连接算法
int strsub(char t[],char s[],int i,int len)//t代表结果子串,s代表目标母串,i代表从母串中的第i个字符开始取字串,len代表字串的长度
{
    int slen;
    slen=strlenth(s);
    if(i<1||i>slen||len<0||len>slen-i+1)
    {
        printf("参数不对");
        return 0;
    }
    for(int j=0;j<len;j++)
    {
     t[j]=s[i+j-1];
    }
    t[len]='\0';
    return 1;
}//求子串的算法
int strcomp(char *s1,char *s2)
{
    int i=0;
    while(s1[i]==s2[i]&&s1[i]!='\0')
        i++;
    return (s1[i]-s2[i]);
}//串比较函数
int main()
{
    char a[10]={'a','b','c','d','e','f','g','h','i','\0'};
    char b[10]={'1','2','3','4','5','6','7','8','9','\0'};
    printf("字符串a长度:%d\n",strlenth(a));
    printf("字符串b长度:%d\n",strlenth(b));
    char c[maxsize];
    strconcat(a,b,c);
    puts(c);
    char d[maxsize];
    strsub(d,c,1,5);
    puts(d);
    return 0;
}
复制代码

运行结果:

有任何错误的地方欢迎各位拍砖指正哦!!!

posted @   西*风  阅读(454)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示