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

网站建设员wordpress 仿微博

网站建设员,wordpress 仿微博,芜湖网站公司,重庆网站设计找重庆最佳科技题目:有一个已经排好序的数组。现输入一个数#xff0c;要求按原来的规律将它插入数组中。 程序分析 要将一个数插入已经排好序的数组中#xff0c;我们可以采用以下步骤#xff1a; 遍历数组#xff0c;找到第一个大于待插入数的位置。将待插入数插入到该位置#xff…题目:有一个已经排好序的数组。现输入一个数要求按原来的规律将它插入数组中。 程序分析 要将一个数插入已经排好序的数组中我们可以采用以下步骤 遍历数组找到第一个大于待插入数的位置。将待插入数插入到该位置同时将该位置后面的元素依次后移一位。 下面我们将使用三种不同的方法来实现这个任务并分析它们的优缺点。 方法一插入排序 解题思路 插入排序是一种简单的排序算法适用于已经部分有序的数组。我们可以利用插入排序的思想来解决这个问题。 实现代码 #include stdio.hvoid insertSorted(int arr[], int size, int num) {int i, j;for (i 0; i size; i) {if (arr[i] num) {for (j size - 1; j i; j--) {arr[j 1] arr[j];}arr[i] num;break;}} }int main() {int arr[] {1, 3, 5, 7, 9};int size sizeof(arr) / sizeof(arr[0]);int num 4;printf(Original Array: );for (int i 0; i size; i) {printf(%d , arr[i]);}insertSorted(arr, size, num);size;printf(\nArray after insertion: );for (int i 0; i size; i) {printf(%d , arr[i]);}return 0; }优缺点 优点 简单易懂容易实现。对于小规模数组或已经基本有序的数组性能较好。 缺点 对于大规模数组性能较差时间复杂度为O(n^2)。 方法二二分查找 插入 解题思路 我们可以使用二分查找来快速找到待插入数的位置然后再进行插入操作。 实现代码 #include stdio.hint binarySearch(int arr[], int left, int right, int num) {while (left right) {int mid left (right - left) / 2;if (arr[mid] num) {return mid;} else if (arr[mid] num) {left mid 1;} else {right mid - 1;}}return left; }void insertSorted(int arr[], int size, int num) {int pos binarySearch(arr, 0, size - 1, num);for (int i size - 1; i pos; i--) {arr[i 1] arr[i];}arr[pos] num; }int main() {int arr[] {1, 3, 5, 7, 9};int size sizeof(arr) / sizeof(arr[0]);int num 4;printf(Original Array: );for (int i 0; i size; i) {printf(%d , arr[i]);}insertSorted(arr, size, num);size;printf(\nArray after insertion: );for (int i 0; i size; i) {printf(%d , arr[i]);}return 0; }优缺点 优点 较方法一更高效时间复杂度为O(log n)。适用于大规模数组。 缺点 实现稍微复杂一些。 方法三使用标准库函数 解题思路 我们可以使用C标准库函数bsearch来进行二分查找然后使用memmove函数来移动元素实现插入操作。 实现代码 #include stdio.h #include stdlib.h #include string.hint compare(const void *a, const void *b) {return (*(int *)a - *(int *)b); }void insertSorted(int arr[], int *size, int num) {int *pos (int *)bsearch(num, arr, *size, sizeof(int), compare);if (pos NULL) {pos arr (*size);}memmove(pos 1, pos, (*size - (pos - arr)) * sizeof(int));*pos num;(*size); }int main() {int arr[] {1, 3, 5, 7, 9};int size sizeof(arr) / sizeof(arr[0]);int num 4;printf(Original Array: );for (int i 0; i size; i) {printf(%d , arr[i]);}insertSorted(arr, size, num);printf(\nArray after insertion: );for (int i 0; i size; i) {printf(%d , arr[i]);}return 0; }优缺点 优点 使用标准库函数简化了实现。高效时间复杂度为O(log n)。适用于大规模数组。 缺点 对C标准库的依赖可能不适用于嵌入式系统等环境。 总结 对于小规模数组或者已经基本有序的数组方法一插入排序是一个简单且直观的选择。但是对于大规模数组它的性能较差。 方法二二分查找插入在大规模数组中性能更好时间复杂度为O(log n)适用于大型数据集。 方法三使用标准库函数也具有高效的性能同时简化了实现但需要依赖C标准库。 综合考虑方法二和方法三都是不错的选择具体取决于项目需求和对性能的要求。如果对性能要求较高且可以使用标准库函数那么方法三是一个不错的
http://www.pierceye.com/news/904081/

相关文章:

  • 广州互邦物流网络优化建站关于网站开发的请示
  • 贵阳手机银行app论坛seo招聘
  • 太原建设北路小学网站铜仁市网站建设
  • 网站换服务器怎么做哪个公司做公司网站好
  • 东莞营销网站建设报价阿里云服务器部署网站
  • 品牌企业建站如何建设网站兴田德润简介呢
  • 思行做网站北京西站到大兴机场
  • 长沙网页制作模板的网站c++编程软件
  • 网站备案 人工审核安卓软件下载安装
  • 网站建设公司 专题制作怎么注册订阅号
  • 网站运营内容包含哪些深圳标本制作
  • wordpress 微信导航站南昌有哪些企业网站
  • 网站开发需要的人员南京手机网站
  • 上海网站建设知识 博客网站建设数据库的购买
  • 足彩网站开发网站建设 网站制作
  • 网站开发 定制 多少 钱小程序加盟代理前景
  • 河南网站建设官网wordpress博客主题哪个好
  • 网站建设会计帐务处理青岛发现51例阳性
  • 保定三金网络科技有限公司windows优化大师是哪个公司的
  • 华丰建设股份有限公司网站深圳影视广告在哪里好
  • 企业建设网站需要服务器吗谷德设计网官网首页入口
  • 新手学做网站步骤天津制作网站的公司电话
  • 做网站同行php网站开发平台下载
  • 国外风格网站企业宣传片制作公司哪家好
  • 如何做双版网站wordpress 36kr
  • 东莞企石网站设计最新便民信息汇总
  • 浏阳做网站公司做网站app优惠活动的
  • 商务网站开发公司2021网页qq登陆
  • vs 网站开发教程docker 部署wordpress
  • 平面网站设计wordpress数据表更换域名