数据结构之串
学习串的时候写的一点笔记
方便自己复习,也希望能给需要这个的人一点帮助
代码如下:
#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; }
运行结果:
有任何错误的地方欢迎各位拍砖指正哦!!!
心之所向,素履以往
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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代理技术深度解析与实战指南