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

【C语言】数组练习

【C语言】数组练习

  • 练习1:多个字符从两端移动,向中间汇聚
  • 练习2、二分查找

练习1:多个字符从两端移动,向中间汇聚

编写代码,演示多个字符从两端移动,向中间汇聚

在这里插入图片描述

练习2、二分查找

在⼀个升序的数组中查找指定的数字n,很容易想到的方法就是遍历数组,但是这种方法效率比较低。
比如我买了⼀双鞋,你好奇问我多少钱,我说不超过300元。你还是好奇,你想知道到底多少,我就让
你猜,你会怎么猜?你会1,2,3,4…这样猜吗?显然很慢;⼀般你都会猜中间数字,比如:150,然
后看大了还是小了,这就是⼆分查找,也叫折半查找。(查找的前提是数据是有序的

下面是代码示例:

#include <stdio.h>
int main()
{int arr[] = { 1,2,3,4,5,6,7,8,9,10 };int left = 0;int right = sizeof(arr) / sizeof(arr[0]) - 1;int key = 3;int mid = 0;int find = 0;while (left <= right){mid = (left + right) / 2;if (arr[mid] > key){right = mid - 1;}else if (arr[mid] < key){left = mid + 1;}else{find = 1;break;}}if (1 == find){printf("恭喜您找到了,下标是%d\n", mid);}else{printf("找不到\n");}return 0;
}

在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/453099.html

相关文章:

  • 微服务实战——ElasticSearch(保存)
  • leetcode练习 路径总和II
  • 使用Three.js库创建的简单WebGL应用程序,主要用于展示具有不同透明度和缩放比例的圆环列
  • Redis: 集群架构,优缺点和数据分区方式和算法
  • 负载均衡可以在网络模型的哪一层?
  • YOLOv11改进 | 上采样篇 | YOLOv11引入CARAFE上采样
  • 【Linux运维】grep命令粗浅学习
  • 【Godot4.3】匀速和匀变速直线运动粒子
  • 基于Hive和Hadoop的用电量分析系统
  • 一个简单的摄像头应用程序4
  • SpringBoot使用EasyPoi根据模板导出word or pdf
  • NVIDIA Hopper 架构深入
  • AWS IoT Core for Amazon Sidewalk
  • 今日指数项目项目集成RabbitMQ与CaffienCatch
  • C0005.Clion中移动ui文件到新目录后,报错问题的解决
  • 基于STM32的智能家居灯光控制系统设计
  • 06.useEffect
  • 【设计模式-中介者模式】
  • 树和二叉树知识点大全及相关题目练习【数据结构】
  • ajax的原理,使用场景以及如何实现
  • lock_guard和unique_lock学习总结
  • 数据挖掘-padans初步使用
  • 小阿轩yx-案例:项目发布基础
  • 【HarmonyOS】时间处理Dayjs
  • 论React Native 和 UniApp 的区别
  • 微信小程序处理交易投诉管理,支持多小程序
  • Pikachu-xss防范措施 - href输出 js输出
  • 数据结构双向链表和循环链表
  • go基础面试题汇总第一弹
  • Redis 实现分布式锁时需要考虑的问题