串的基本操作(数据结构)
串的基本操作
#include <stdlib.h>
#include <iostream>
#include <stdio.h>
#define MaxSize 255typedef struct{char ch[MaxSize];int length;
}SString;//初始化
SString InitStr(SString &S){S.length=0;return S;
} //为了方便计算,串的下标从1开始计算
//给串赋值
SString SetStr(SString &S){char c;int i=1;scanf("%c",&c);while(c!='\n'){S.ch[i++]=c;S.length++;scanf("%c",&c);}return S;
} //返回字符串的长度
int StrLength(SString &S){return S.length;
} //清空字符串
void ClearStrinf(SString &S){S.length=0;
}//求字符串的字串
bool SubString(SString &Sub,SString &S,int pos,int len){if(pos+len-1>S.length) return false;//字串超出范围for(int i=pos;i<pos+len;i++){Sub.ch[i-pos+1] = S.ch[i];} Sub.length = len;return true;
} //比较字符串
bool StrCompare(SString &S,SString &T){for(int i=1;i<=S.length && i<=T.length;i++){if(S.ch[i]!=T.ch[i])//进行字符比较 return S.ch[i]-T.ch[i];// S>T:>0,S<T:<0,S=T:=0 }return S.length-T.length;//所有字符都相同,长度大的串更大
} //定位操作
int Index(SString &S,SString &T){int i=0;int n=StrLength(S);int m=StrLength(T);SString Sub;//暂时存字串 while(i<=n-m+1){SubString(Sub,S,i,m);if(StrCompare(Sub,T)!=0) i++;else return i;//返回字串在主串的位置 }return 0;//不存在与T匹配的字串
}//显示串
void ShowString(SString &S){for(int i=1;i<S.length;i++){printf("%c",S.ch[i]);}printf("\n");
}int main(){printf("设置串:");SString S;InitStr(S);SetStr(S);int len1;len1=StrLength(S);printf("串长度为:%d\n",len1);printf("设置字串:");SString D;InitStr(D);SetStr(D);int len2;len2=StrLength(D);printf("子串长度为:%d\n",len2);printf("\n");printf("-----------求字符串的字串-------------\n");SString Sub;int pos,len;printf("输入截取的起始位置和长度:");scanf("%d,%d",&pos,&len);if(SubString(Sub,S,pos,len)) {printf("截取后的字串\n");ShowString(Sub);}else printf("截取失败\n");printf("\n");printf("-------------定位字串-------------\n");int i;i=Index(S,D);if(i) printf("字串定位:%d",i);else printf("字串定位失败\n");return 0;
}
展示

相关文章:
串的基本操作(数据结构)
串的基本操作 #include <stdlib.h> #include <iostream> #include <stdio.h> #define MaxSize 255typedef struct{char ch[MaxSize];int length; }SString;//初始化 SString InitStr(SString &S){S.length0;return S; } //为了方便计算,串的…...
ctfshow-web12(glob绕过)
打开链接,在网页源码里找到提示 要求以get请求方式给cmd传入参数 尝试直接调用系统命令,没有回显,可能被过滤了 测试phpinfo,回显成功,确实存在了代码执行 接下来我们尝试读取一下它存在的文件,这里主要介…...
hive3.1核心源码思路
系列文章目录 大数据主要组件核心源码解析 文章目录 系列文章目录大数据主要组件核心源码解析 前言一、HQL转化为MR 核心思路二、核心代码1. 入口类,生命线2. 编译代码3. 执行代码 总结 前言 提示:这里可以添加本文要记录的大概内容: 对大…...
LATR:3D Lane Detection from Monocular Images with Transformer
参考代码:LATR 动机与主要工作: 之前的3D车道线检测算法使用诸如IPM投影、3D anchor加NMS后处理等操作处理车道线检测,但这些操作或多或少会存在一些负面效应。IPM投影对深度估计和相机内外参数精度有要求,anchor的方式需要一些如…...
什么是UI自动化测试工具?
UI自动化测试工具有着AI技术驱动,零代码开启自动化测试,集设备管理与自动化能力于一身的组织级自动化测试管理平台。基于计算机视觉技术,可跨平台、跨载体执行脚本,脚本开发和维护效率提升至少50%;多端融合统一用户使用体验&#…...
计算顺序表中值在100到500之间的元素个数
要求顺序表中值在100到500之间的元素的个数,你可以使用C语言编写一个循环来遍历顺序表中的元素,并在循环中检查每个元素是否在指定的范围内。 #include <stdio.h>#define MAX_SIZE 100 // 假设顺序表的最大容量为100int main() {int arr[MAX_SIZE]…...
【问题总结】级数的括号可以拆吗?
问题 今天在做题的时候发现,括号这个问题时常出现。Σun,Σvn,和Σ(unvn),两个级数涉及到了括号增删,Σ(un-1un),级数钟的前后项的合并也涉及到了括号增删。 总结 添括号定理&…...
抖音自动养号脚本+抖音直播控场脚本
功能描述 一.抖音功能 1.垂直浏览 2.直播暖场 3.精准引流 4.粉丝留言 5.同城引流 6.取消关注 7.万能引流 8.精准截流 9.访客引流 10.直播间引流 11.视频分享 12.榜单引流 13.搜索引流 14.点赞回访 15.智能引流 16.关注回访 介绍下小红书数据挖掘 搜索关键词&…...
uvm中transaction的response和id的解读
在公司写代码的时候发现前辈有一段这样的代码: ....//其他transaction uvm_create(trans);........ uvm_send(trans); tmp_id trans.get_transaction_id(); get_response(rsp,tmp_id); 如果前面有其他transaction,这段代码里的get_response不带id的话…...
第四节(1):EXCEL中判断一个WORD文件是否被打开
《VBA信息获取与处理》教程(10178984)是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网…...
java.util.concurrent.locks.Condition详解
Condition翻译成中文是“条件”,一般我们称其为条件变量,每一个Condition对象都通过链表保存了一个队列,我们称之为条件队列。 当然了,这里所说的Condition对象一般指的是Condition接口的实现类ConditionObject,比如我…...
选择适合变更管理的产品开发工具的要点和建议
什么是变更管理? 变更管理是指导组织改进的学科。由于可观察到的行为变化,它会导致永久性变化。它确保您的组织以彻底、有序和可持续的方式学习和改进。成功的改进项目需要个人和团队保持一致,他们有共同的愿景,他们知道如何定义…...
小程序 词云图 echarts-for-weixin-wordcloud
GitHub - clydee-geng/echarts-for-weixin-wordcloud: echarts词云微信小程序版 这个是适配与小程序版的词云图,之前有找到ucharts来代替,但是ucharts的词云图功能有两个缺点:1.无法根据值的大小显示词云图的大小;2.显示的顺序是…...
VScode配置Jupyter
环境 安装步骤 1、插件安装 2、更改pip加速源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 参考:vscode python配置pip源 【Python学习】Day-00 Python安装、VScode安装、pip命令、镜像源配置、虚拟环境 3、建…...
java模拟GPT流式问答
流式请求gpt并且流式推送相关前端页面 1)java流式获取gpt答案 1、读取文件流的方式 使用post请求数据,由于gpt是eventsource的方式返回数据,所以格式是data:,需要手动替换一下值 /** org.apache.http.client.metho…...
【好玩】如何在github主页放一条贪吃蛇
前言 🍊缘由 github放小蛇,就问你烧不烧 起因看到大佬github上有一条贪吃蛇扭来扭去,觉得好玩,遂给大家分享一下本狗的玩蛇历程 🥝成果初展 贪吃蛇 🎯主要目标 实现3大重点 1. github设置主页 2. git…...
顶顶通ASR安装配置说明
联系顶顶通申请Asrproxy授权,勾选asrserver模块。 下载语音识别模型 链接:https://pan.baidu.com/s/1IuDkDeytZOqf7tAbIb6h1Q 提取码:6vg6 安装asrproxy到/ddt/asrproxy,模型解压到 /ddt/asrproxy/model 对接mod_vad asrproxy.json 配置如…...
VMware和别的服务器 ,组建局域网那些事 。
利用VMware ,实现组件局域网、有可能会受限于WiFi(路由器) 。 通常不会,除非做了网关设置 相关知识: 禁用局域网隔离(LAN Isolation): 某些路由器提供了一个选项,允许您禁…...
自监督DINO论文笔记
论文名称:Emerging Properties in Self-Supervised Vision Transformers 发表时间:CVPR2021 作者及组织: Facebook AI Research GitHub:https://github.com/facebookresearch/dino/tree/main 问题与贡献 作者认为self-supervise…...
计算机视觉: 基于隐式BRDF自编码器的文生三维技术
论文链接: MATLABER: Material-Aware Text-to-3D via LAtent BRDF auto-EncodeR 背景 得益扩散模型和大量的text - image 成对的图片, 现在文生2D的模型已经比较成熟的框架和模型,主流的技术比如说stable diffusion 和 midjourney 以及工业领域runway 等…...
你的爬虫被识别了?可能是浏览器指纹惹的祸!教你用Playwright伪装Canvas/WebGL指纹
浏览器指纹识别:爬虫工程师的终极伪装术 当你的爬虫程序已经完美解决了User-Agent轮换、IP代理池和请求频率控制,却依然被目标网站精准识别并封禁时,你可能正面临着现代反爬技术的终极挑战——浏览器指纹识别。这种技术不依赖于传统的请求特征…...
GitHub Desktop汉化终极指南:如何让英文界面瞬间变成中文
GitHub Desktop汉化终极指南:如何让英文界面瞬间变成中文 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese 还在为GitHub Desktop的英文界面而头疼吗…...
资源捕获高效解决方案:猫抓浏览器扩展让媒体提取更简单
资源捕获高效解决方案:猫抓浏览器扩展让媒体提取更简单 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在当今数字时代,我们每天都在网页上浏览大量的媒体内容,从精…...
Keepalived+Nginx+Tomcat 高可用项目集成 MySQL 数据库全记录
前言在之前的文章中,我搭建了基于 KeepalivedNginxTomcat 的高可用 Web 架构,实现了入口 VIP 漂移和反向代理。但这套架构还缺少“数据层”——所有服务都是无状态的,不能持久化数据。为了让项目更完整,我决定加入 MySQL 数据库&a…...
TAICHI-flet终极排障指南:从新手到高手的完整解决方案
TAICHI-flet终极排障指南:从新手到高手的完整解决方案 【免费下载链接】TAICHI-flet 基于flet的一款windows桌面应用,实现了浏览图片、音乐、小说、漫画、各种资源的功能。 项目地址: https://gitcode.com/GitHub_Trending/ta/TAICHI-flet TAICHI…...
SpringBoot 3.2.0 项目里整合 Flowable 7.1.0,我踩过的那些坑和最佳实践
SpringBoot 3.2.0 项目里整合 Flowable 7.1.0,我踩过的那些坑和最佳实践 最近在重构公司内部的工作流系统时,我决定采用 SpringBoot 3.2.0 和 Flowable 7.1.0 的组合。本以为只是简单的依赖引入和配置,没想到从 POM 文件开始就踩了不少坑。这…...
Sodaq_RN2483库详解:LoRaWAN Class A终端嵌入式实现
1. Sodaq_RN2483库深度解析:面向Class A LoRaWAN终端的嵌入式通信实现 1.1 库定位与工程价值 Sodaq_RN2483是一个专为Microchip RN2483 LoRaWAN模块设计的Arduino兼容C库,其核心目标是为资源受限的嵌入式系统提供稳定、可复用、符合LoRaWAN协议规范的无…...
如何突破数据标注瓶颈?Label Studio全攻略:从多模态标注到AI协作
如何突破数据标注瓶颈?Label Studio全攻略:从多模态标注到AI协作 【免费下载链接】label-studio Label Studio is a multi-type data labeling and annotation tool with standardized output format 项目地址: https://gitcode.com/GitHub_Trending/l…...
你的加密音乐文件,是否真的属于你?
你的加密音乐文件,是否真的属于你? 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://gitc…...
节能模式:OpenClaw+nanobot的间歇性任务调度技巧
节能模式:OpenClawnanobot的间歇性任务调度技巧 1. 为什么需要节能模式 去年夏天,我的电费账单突然飙升。排查后发现,那台24小时运行OpenClaw的工作站竟然是耗电大户——它持续调用着本地部署的Qwen大模型,GPU风扇昼夜不停地呼啸…...
