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

第四章 串、数组和广义表——课后习题解练【数据结构(c语言版 第2版)】

1.选择题

(1)(2)(3)(4)(5)

答案:BBCAB

(6)(7)(8)(9)(10)

答案:BBBBB

(11)(12)(13)(14)(15)

答案:ABD CB C

2.应用题

(3)

(4)

3.算法设计题

(2)

// 函数功能:递归实现字符串逆序存储
// 参数说明:A - 字符数组,用于存储逆序后的字符串
void InvertStore(char A[]) {char ch;                // 临时变量,用于存储输入的字符static int i = 0;       // 静态变量,记录当前存储位置(跨递归调用保持状态)// 读取一个字符scanf("%c", &ch);// 递归终止条件:遇到 '.' 结束输入if (ch != '.') {// 递归调用,继续读取下一个字符InvertStore(A);// 递归返回时,将字符逆序存入数组// 由于递归的栈特性,最后输入的字符会先被存储A[i++] = ch;}// 在所有递归调用结束后,为字符串添加结束标记A[i] = '\0';
}

(6)

// 函数功能:将数组中所有正数排在所有负数的前面
// 参数说明:
//   A - 整数数组
//   n - 数组长度
void Arrange(int A[], int n) {int i = 0;          // 左指针,从数组开头开始int j = n - 1;      // 右指针,从数组末尾开始int x;              // 临时变量,用于交换元素// 使用双指针法进行排序while (i < j) {// 从左向右找到第一个负数(正数跳过)while (i < j && A[i] > 0) {i++;}// 从右向左找到第一个正数(负数跳过)while (i < j && A[j] < 0) {j--;}// 如果左指针仍在右指针左侧,交换元素if (i < j) {x = A[i];           // 临时保存左指针元素A[i] = A[j];        // 将右指针元素移到左边A[j] = x;           // 将左指针元素移到右边i++;                 // 左指针右移j--;                // 右指针左移}}
}
http://www.dtcms.com/a/507074.html

相关文章:

  • 从C语言标准揭秘C指针:第 10 章:指针与动态内存:堆区内存的生命周期管理
  • 设计汽车网站外贸建站服务器怎么选
  • 微网站制作超链接太原网站开发工程师
  • 服装生产管理系统|基于SpringBoot和Vue的服装生产管理系统(源码+数据库+文档)
  • 牛客101:链表
  • 量化策略中三周期共振策略的仓位管理方法
  • 【python】快速实现pdf批量去除指定位置水印
  • 在 macOS 上用 Docker 为 Java 后端 常见开发需求搭建完整服务(详尽教程)
  • 网站建设翻译网站添加二维码
  • Debug —— Docker配置镜像后下载Mysql等报连接超时
  • 中冶交通建设集团网站发网站视频做啥格式最好
  • 软件定制一条龙整站多关键词优化
  • 【Vscode】显示多个文件 打开多个文件时实现标签栏多行显示
  • vue 技巧与易错
  • vscode编写Markdown文档
  • 使用VScode 插件,连接MySQL,可视化操作数据库
  • 基于微信小程序的公益捐赠安全平台9hp4t247 包含完整开发套件(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
  • 【论文精读】FlowVid:驯服不完美的光流,实现一致的视频到视频合成
  • 【C++】滑动窗口算法习题
  • C语言趣味小游戏----扫雷游戏
  • 三款AI平台部署实战体验:Dify、扣子与BuildingAI深度对比
  • 网站制作难不难小红书搜索优化
  • Python如何使用NumPy对图像进行处理
  • 房产中介网站开发站长工具之家
  • Linux服务器编程实践60-双向管道:socketpair函数的实现与应用场景
  • c++结构体讲解
  • 青岛商城网站建设网站相互推广怎么做
  • Linux学习笔记(九)--Linux进程终止与进程等待
  • 虚幻引擎5 GAS开发俯视角RPG游戏 P06-09 玩家等级与战斗接口
  • JavaSE内容梳理与整合