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

asp 制作网站开发网站翻书效果

asp 制作网站开发,网站翻书效果,wordpress 文章 标题,网站设计 html5题目:有一个已经排好序的数组。现输入一个数#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/395058/

相关文章:

  • wordpress 图片大小设置梧州网站优化公司
  • 360推广 网站建设豫建设标去哪个网站
  • 职高网站建设知识点国家免费技能培训有哪些
  • 哪个网站有帮忙做公开课课件怎么查那些人输入做网站
  • 怎么做qq钓鱼网站吗有哪些站内推广的方式
  • wap手机网站建设校园论坛网站怎么做
  • 北京专业网站的建设滨州做网站的
  • 网站点击排名wordpress 联系我们
  • 上街免费网站建设seo外包公司优化
  • 营销型网站的三大特点安徽网站设计方案
  • 优化网站推广教程排名做微信公众号页面的网站
  • 龙岗网站设计效果台州百度关键词排名
  • 政务类网站建设ps做全屏网站画布要多大
  • 百度广告搜索推广seo如何快速排名百度首页
  • 网站调用微信数据网站开发语言windows
  • 网站建设的公青岛专业网站制作设计
  • 东莞营销型网站学动漫设计有前途吗
  • 资讯网站wordpress实例配置
  • 营销网站建设哪里便宜最新房地产新闻
  • 有自己的网站怎么做淘宝客wordpress不自动安装
  • 我自己做网站wcf网站开发
  • 做一个好的网站需要什么店铺设计合同
  • 做网站公司郑州设计师能做网站前端吗
  • 建设工程交易中心网站中国监察报电子版
  • 网站正在建设中 倒计时软文写作范例大全
  • 左中右三栏布局网站建设网站建设微金手指下拉15
  • 做网站公司怎么找数字营销招聘
  • 做网站域名和空间费如何创建一个新网站
  • 前程无忧网广州网站建设类岗位wordpress建站教程视频
  • 徐州建设公司网站最吉祥的公司名字大全