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

C++面试题精讲系列之数组排序

数组排序是我们经常遇到的笔试题目,给大家盘一下这题到底想考察什么?

// 考题如下
void main()
{int arr[4] = {26,28,24,11};// 请实现一个sortArray函数,对数组arr进行从小到大排序
}

考点1:数组做函数参数如何传递参?

// 数组做函数形参的时候,如果在形参中定义int arr[4]语句,
// c/c++编译器 会做优化,技术推演如下
// int arr[4]  --> int arr[] --> int *arr
// 总结:当数组当做函数参数的话的时候会退化为指针,函数调用的时候,把数组首地址和有效数据长度传给被调用函数才是最正确的做法
// 正确答案有三种写法
void sortArray(int arr[4], int num)
void sortArray(int arr[], int num)
void sortArray(int *arr, int num)// 强烈推荐这个写法,可读性最佳
void sortArray(int arr[], int num)

考点2:排序的逻辑实现?

排序方法有很多,本答案采用经典的冒泡排序法,排序过程如下所示

img

#include "stdlib.h"
#include "string.h"
#include "stdio.h"// 冒泡法代码实现
void sortArray(int arr[], int num)
{for (int i = 0; i < num - 1; i++) {for (int j = 0; j < num - i - 1; j++) {if (arr[j] > arr[j + 1]) {// 交换arr[j]和arr[j+1]int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}
}// 打印一下排序后的结果,验证我们的代码
void printfArray(int arr[], int num)
{for (int i=0; i<num; i++){printf("%d ", arr[i]);}
}int main() {int arr[4] = {26,28,24,11};;sortArray(arr, 4);printfArray(arr, 4);return 0;
}
程序运行输出结果:
11 24 26 28 

欢迎大家关注我的同名地球号,你们的认同是我写作的最大动力!

http://www.lqws.cn/news/596161.html

相关文章:

  • raid的介绍和raid对比 和 lvm 的介绍和使用 扩容
  • Qt 实现Opencv功能模块切换界面功能
  • 线性规划模型
  • 【V5.0 - 视觉篇】AI的“火眼金睛”:用OpenCV量化“第一眼缘”,并用SHAP验证它的“审美”
  • TensorFlow内核剖析:分布式TensorFlow架构解析与实战指南
  • 通往物理世界自主智能的二元实在论与罗塞塔协议
  • 软件测试-持续集成
  • DVWA靶场通关笔记-文件包含(Medium级别 9种渗透方法)
  • Nebula Graph Meta 服务无法启动
  • SQL SELECT 语句
  • chromedriver
  • jQuery EasyUI 安装使用教程
  • 飞算智造JavaAI:智能编程革命——AI重构Java开发新范式
  • Qt_Creator入门基础知识
  • Python Flask 容器化应用链路可观测
  • WPF学习笔记(19)控件模板ControlTemplate与内容呈现ContentPresenter
  • 原神八分屏角色展示页面(纯前端html,学习交流)
  • RabbitMQ简单消息监听
  • 基于开源AI智能名片链动2+1模式S2B2C商城小程序的抖音渠道力拓展与多渠道利润增长研究
  • [特殊字符] 分享裂变新姿势:用 UniApp + Vue3 玩转小程序页面分享跳转!
  • 飞算 JavaAI:我的编程强力助推引擎
  • vue-34(单元测试 Vue 组件的介绍)
  • Langgraph 学习教程
  • AR衍射光波导设计遇瓶颈,OAS 光学软件来破局
  • 基于 51 单片机做的二十四点小游戏
  • Gartner《Choosing Event Brokers to Support Event-DrivenArchitecture》心得
  • AG32调试bug集合
  • ubuntu编译 aosp for x86, windows avd启动 aosp-qemu镜像
  • PADS使用记录2
  • android14 默认关闭或开启数据流量