当前位置: 首页 > news >正文

指针经典编程练习题 解题方法 + 完整代码

1. 字符串逆序

题目:反转整个字符串方法:首尾双指针交换法

void Reverse(char* str) { int len = strlen(str); char* left = str; char* right = str + len - 1; while (left < right) { char temp = *left; *left = *right; *right = temp; left++; right--; } }

2. 字符串左旋 k 个字符

方法 1:暴力逐个移动

思路:每次把第一个字符移到末尾,循环 k 次

void leftReverse(char* str,int time) { int len = strlen(str); for (int i = 0; i < time; i++) { char temp = str[0]; for (int j = 0; j < len - 1; j++) { str[j] = str[j + 1]; } str[len-1] = temp; } }

方法 2:strcpy+strncat 库函数拼接

思路:后半段 + 前半段,拼接新字符串

void leftReverse(char* str, int time) { char temp[101] = { 0 }; strcpy(temp, str + time); strncat(temp, str, time); strcpy(str, temp); }

完整全过程图解

原 str:a b c d e f \0time=2

  1. strcpy(temp, str+2);temp:c d e f \0

  2. strncat(temp, str, 2);temp:c d e f a b \0

  3. strcpy(str, temp);从头覆盖 strstr 旧内容 abcdef → 被彻底替换成 cdefab


超级重点一句话

strcpy 是覆盖拷贝,不是追加!旧字符串直接消失,完全被新内容替换

3. 数组奇数在前,偶数在后

题目:调整数组顺序,所有奇数放前面,偶数放后面方法:左右双指针碰撞法

void Change(int arr[],int len) { int left = 0; int right = len - 1; while (left < right) { //左边找偶数 while (left < right && arr[left] % 2 != 0) left++; //右边找奇数 while (left < right && arr[right] % 2 == 0) right--; //交换 int temp = arr[left]; arr[left] = arr[right]; arr[right] = temp; } }
http://www.jsqmd.com/news/688539/

相关文章:

  • Happy Island Designer完整指南:如何快速创建完美的动物森友会岛屿布局
  • 海口宝妈必看!语言发育迟缓干预中心大盘点 - 品牌测评鉴赏家
  • 告别Three.js!用3Dmol.js在网页里轻松展示分子结构(附完整代码)
  • 自学历程09-YOLOv8主干网络改造:以BiFPN为例详解模块集成
  • Mintegral 再次通过 SOC2 Type2 与 SOC3 鉴证,深化数据安全与合规
  • 从数据到部署:YOLO26吸烟行为检测系统实战(香烟/人/烟雾/电子烟/吸烟动作)(项目源码+数据集+模型权重+UI界面+python+深度学习+远程环境部署)
  • #广州最推荐的初中有哪些?2026年增城等地市场选择前5排名 - 十大品牌榜
  • 国际升学新选择:赫德教育集团如何化解高考留学难题 - 资讯焦点
  • 风华高科开路设计多层片式陶瓷电容器(Open Mode Design MLCC)
  • FlicFlac音频转换工具:7种格式互转的完整解决方案
  • 谁来讲讲,到底啥是云服务器?
  • 传统开发逐渐贬值,大模型开发才是未来刚需
  • 给硬件工程师的NVDLA架构选型指南:从Atomic-C/K到卷积缓冲,如何为你的AI芯片定制加速器
  • 告别手动调序!Vue3 + Element Plus表格拖拽排序保姆级教程(附完整代码)
  • 2026年4月|全国商用性净水器供应商:浩圆净水 - 资讯焦点
  • AI万能指令
  • 给 OpenClaw 加上企业级 Memory,你的 Agent 终于不用再问第二遍
  • 互联网大厂 Java 求职面试:从 Spring Boot 到微服务的深度探讨
  • SpringBoot项目里,用Caffeine和Spring Cache注解搞定本地缓存(附完整代码)
  • 告别App Store!三种主流签名方式(企业签/超级签/TF签)手把手教你安装自研iOS App
  • 老年健康移动应用设计:挑战、解决方案与实践
  • #广州最推荐的一线初中有哪些?2026年增城等地市场选择前五排名 - 十大品牌榜
  • 抖音批量下载工具终极指南:三步实现高效免费下载
  • 举升机之选:五大主流品牌实力与场景适配深度测评 - 资讯焦点
  • React 性能优化的手段有哪些?
  • 曹操出行难做Robotaxi版“滴滴”
  • Windows下Python venv报错exit status 1?别急着删文件夹,试试这个--without-pip参数
  • 为什么需要专业的冷气机、工业制冷机与液冷测试机?2026年冷气机/工业制冷机/液冷测试机精选推荐公司 - 品牌推荐大师1
  • 核心零部件难在哪儿?盈诺、日立、佳航三家DSC的传感器灵敏度与热流噪声数据公开 - 品牌推荐大师1
  • 昆明诚誉名酒回收:昆明上门酒回收哪个公司好 - LYL仔仔