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

江苏省建设人才网站营山网站建设

江苏省建设人才网站,营山网站建设,聊城网站开发培训,wordpress上传ppt题目#xff1a;有一个已经排好序的数组。现输入一个数#xff0c;要求按原来的规律将它插入数组中。 程序分析 要将一个数插入已经排好序的数组中#xff0c;我们可以采用以下步骤#xff1a; 遍历数组#xff0c;找到第一个大于待插入数的位置。将待插入数插入到该位…题目有一个已经排好序的数组。现输入一个数要求按原来的规律将它插入数组中。 程序分析 要将一个数插入已经排好序的数组中我们可以采用以下步骤 遍历数组找到第一个大于待插入数的位置。将待插入数插入到该位置同时将该位置后面的元素依次后移一位。 下面我们将使用三种不同的方法来实现这个任务并分析它们的优缺点。 方法一遍历插入 解题思路 我们可以遍历已排序数组找到第一个大于待插入数的位置然后将待插入数插入该位置。 实现代码 public class Main {public static void insertSorted(int[] arr, int num) {int i;for (i 0; i arr.length; i) {if (arr[i] num) {break;}}// 将待插入数插入到位置 i同时后面的元素后移for (int j arr.length - 1; j i; j--) {arr[j] arr[j - 1];}arr[i] num;}public static void main(String[] args) {int[] arr {1, 3, 5, 7, 9};int num 4;System.out.print(Original Array: );for (int i 0; i arr.length; i) {System.out.print(arr[i] );}insertSorted(arr, num);System.out.print(\nArray after insertion: );for (int i 0; i arr.length; i) {System.out.print(arr[i] );}} }优缺点 优点 简单易懂容易实现。对于小规模数组或已经基本有序的数组性能较好。 缺点 对于大规模数组性能较差时间复杂度为O(n)。 方法二二分查找 插入 解题思路 我们可以使用二分查找来快速找到待插入数的位置然后再进行插入操作。 实现代码 public class Main {public static int binarySearch(int[] arr, int num) {int left 0;int right arr.length - 1;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;}public static void insertSorted(int[] arr, int num) {int pos binarySearch(arr, num);for (int i arr.length - 1; i pos; i--) {arr[i] arr[i - 1];}arr[pos] num;}public static void main(String[] args) {int[] arr {1, 3, 5, 7, 9};int num 4;System.out.print(Original Array: );for (int i 0; i arr.length; i) {System.out.print(arr[i] );}insertSorted(arr, num);System.out.print(\nArray after insertion: );for (int i 0; i arr.length; i) {System.out.print(arr[i] );}} }优缺点 优点 较方法一更高效时间复杂度为O(log n)。适用于大规模数组。 缺点 实现稍微复杂一些。 方法三使用ArrayList 解题思路 我们可以使用ArrayList来插入新元素然后再将其转换为数组。 实现代码 import java.util.ArrayList; import java.util.Arrays;public class Main {public static void insertSorted(ArrayListInteger list, int num) {int pos 0;while (pos list.size() list.get(pos) num) {pos;}list.add(pos, num);}public static void main(String[] args) {ArrayListInteger list new ArrayList(Arrays.asList(1, 3, 5, 7, 9));int num 4;System.out.print(Original List: );for (int i 0; i list.size(); i) {System.out.print(list.get(i) );}insertSorted(list, num);System.out.print(\nList after insertion: );for (int i 0; i list.size(); i) {System.out.print(list.get(i) );}} }优缺点 优点 使用ArrayList简化了插入操作。适用于大规模数组。 缺点 需要额外的内存空间来存储ArrayList。对ArrayList的插入操作可能稍慢于直接操作数组。 总结 对于小规模数组方法一或方法三都可以选择具体取决于个人偏好。方法二在大规模数组中具有更好的性能因为它的时间复杂度是O(log n)但实现稍微复杂一些。 如果需要处理大规模数组并且希望保持较高的性能方法二二分查找插入是一个更好的选择。如果空间使用不是主要考虑因素也可以考虑方法三使用ArrayList。 总的来说方法二二分查找插入通常是更好的选择因为它兼顾了性能和实现复杂度。
http://www.hkea.cn/news/14367609/

相关文章:

  • 网络公司做网站后期注意wordpress google 蜘蛛 频率
  • 网站快速排名工具seo优化网站模板
  • 通州富阳网站建设商城网站建设视频
  • 上海建设银行网站织梦模仿网站视频
  • 网站制作哪家好四网合一的网站
  • 网站建设的资金问题红桥网站建设
  • 买域名后 怎么做网站体育馆路网站建设
  • 网站整体策划与设计怎么做家教网站
  • 网站的宣传推广方式用公司注册公司需要什么资料
  • 海口有做棋牌娱乐网站的吗东营集团网站建设
  • 建网站多少钱一个平台淘宝如何建网站
  • 站长怎么添加网站内容wordpress onepage
  • 北京网站建设制作临武县网站建设
  • 婚介做网站的好处wordpress 关站
  • 网站文明建设工程包括做企业网站找哪家
  • 人才网网站方案桂林分销网站开发
  • 成都网站优化实战网站建设 中企动力阀门
  • 网站网页的区别与联系怎样在网上做宣传
  • 温州网站关键字优化网站规划总结
  • 新建网站手工制作简单又漂亮
  • 网站建设便捷搜索案例的网站有哪些
  • 网站设计 现在流行的导航方式网址是什么
  • 网站建设外包名词解释wordpress js 太多
  • 猪八戒网站做私活赚钱吗上海网站设计要多少钱
  • 佛山网站建设制作宜春专业的企业网站建设公司
  • 苍南网站建设shaoky中国五大门户网站
  • 做关于植物的网站php网站开发计划
  • 义乌外贸网站建设来啦视频直播网站如何做
  • wordpress企业网站制作视频教程wordpress到day one
  • 做oa系统的网站外贸网站空间选择