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

外汇网站源码 asp家电网站源码

外汇网站源码 asp,家电网站源码,做网站用的图片怎样压缩,wordpress数据库安装教程一#xff0c;数组翻转 1.概述:数组对称索引位置上的元素互换#xff0c;最大值数组序号是数组长度减一 创建跳板temp#xff0c;进行min和max的互换#xff0c;然后min自增#xff0c;max自减#xff0c;当minmax的时候停止互换#xff0c;代表到中间值 用代码实…一数组翻转 1.概述:数组对称索引位置上的元素互换最大值数组序号是数组长度减一 创建跳板temp进行min和max的互换然后min自增max自减当minmax的时候停止互换代表到中间值 用代码实现 public class Demo01Reverse {public static void main(String[] args) {//定义一个静态数组 int arr [] {1,2,3,4,5,6,7};for(int min0,max arr.length-1;minmax;min,max--){//进行换位int temp arr[min];arr[min] arr[max];arr[max] temp;}for (int i 0; i arr.length; i) {System.out.print(arr[i] );}} } 二冒泡排序 数组的排序是将数组中的元素按照大小进行排序默认都是以升序的形式进行排序数组排序的方法很多我们讲解的是数组的冒泡排序。 排序都要进行数组 元素大小的比较再进行位置的交换。冒泡排序法是采用数组中相邻元素进行比较换位。   arr[i](前一个元素)   arr[i1](后一个元素) 比如以下数组 5 4 3 2 1 进行01号位的数字比较 4 5 3 2 1 然后又进行12号位的数字比较 4 3 5 2 1 然后23号位比较 4 3 2 5 1 最后34号位比较 4 3 2 1 5 实现位置的交换依然和前面数组翻转一样创建一个跳板temp进行交换 代码实现 首先定义数组 public class Demo02Bubble {public static void main(String[] args) {int[] arr {5,4,3,2,1}; 进行第一轮冒泡 /* 第一圈 */for (int i 0; i arr.length; i) {if(arr[i]arr[i1]){int temp arr[i];arr[i] arr [i1];arr[i1] temp;}} 测试出现警告 这是为什么呢 其实是循环的时候突破了数组的最大序号 因为arr.length就等于5所以i能取到的最大值是4所以i15突破了最大限制 改为arr.length-1 成功然后进行第二圈 //第二圈for (int i 0; i arr.length-1; i) {if(arr[i]arr[i1]){int temp arr[i];arr[i] arr [i1];arr[i1] temp;}} 第二圈代码和第一圈一样也没问题但也和第一圈一样比较了4次但我们可以不必做这个重复功因为第一次比较完了一个数所以我们可以减去一次循环来表示可以少比较的次数所以可以写成arr.length-1-1最后面减的这个数可以看成是前面冒泡过的数的个数圈数 //第二圈for (int i 0; i arr.length-1-1; i) {if(arr[i]arr[i1]){int temp arr[i];arr[i] arr [i1];arr[i1] temp;}} 现在进行第三圈第四圈同样我们减去前面冒泡过的数的个数 //第三圈for (int i 0; i arr.length-1-2; i) {if(arr[i]arr[i1]){int temp arr[i];arr[i] arr [i1];arr[i1] temp;}}//第四圈for (int i 0; i arr.length-1-3; i) {if(arr[i]arr[i1]){int temp arr[i];arr[i] arr [i1];arr[i1] temp;}} 运行结果 但我们可以再进行优化这几圈的变化非常细微只有一个数一个位置在变 如果最后面减的数是前面的圈数的话那也就等于i啊我们可以再在外面套一层循环利用自加i来代替这几圈唯一变的减数 /* 外层循环代表比较了几圈n-1圈 */for (int j 0; j arr.length-1; j) {for (int i 0; i arr.length-1-j; i) {/*内层循环代表每一圈比较的次数每圈都少比较一次*/if(arr[i]arr[i1]){int temp arr[i];arr[i] arr [i1];arr[i1] temp;}}} 由此而来化繁为简减小了时间空间复杂度 完整代码如下 public class Demo02Bubble {public static void main(String[] args) {int[] arr {5,4,3,2,1};/*第一圈越界原因:当i变化到4的时候- arr[4]arr[5] - 直接操作了5索引,所以越界了越界解决:我们可以让arr.length-1如果arr.length-1- 比较就是i4 - 此时i最大可以变化到3当i变化到3时 - arr[3]arr[4] - 正好是最后两个元素进行比较*/for (int i 0; i arr.length-1-0; i) {if(arr[i]arr[i1]){int temp arr[i];arr[i] arr [i1];arr[i1] temp;}}//第二圈/*for (int i 0; i arr.length-1-1; i) {if(arr[i]arr[i1]){int temp arr[i];arr[i] arr [i1];arr[i1] temp;}}*///第三圈/*for (int i 0; i arr.length-1-2; i) {if(arr[i]arr[i1]){int temp arr[i];arr[i] arr [i1];arr[i1] temp;}}*///第四圈/*for (int i 0; i arr.length-1-3; i) {if(arr[i]arr[i1]){int temp arr[i];arr[i] arr [i1];arr[i1] temp;}}*//*外层循环代表比较了几圈n-1圈*/for (int j 0; j arr.length-1; j) {for (int i 0; i arr.length-1-j; i) {/*内层循环代表每一圈比较的次数每圈都少比较一次*/if(arr[i]arr[i1]){int temp arr[i];arr[i] arr [i1];arr[i1] temp;}}}for (int i 0; i arr.length; i) {System.out.print(arr[i] );}} } 三二分查找一尺之锤日取其半万世不竭 1.前提:数组中的数据必须是有序的 2.查询思想:   a.老式查询:遍历数组,一个一个比较 - 查询效率慢   b.二分查找:每次找中间索引对应的元素进行比较查询(每一次查询少一半数据) 首先因为min和max会因为查找数所在数组的位置不同而改变所以不能定义min就是arr[0]或max就是arr[8]min默认为0max为arr.length-1mid就是二者取中。 key为查询数是指想查的数组中的数查询出的是数组序数代表 含的数。 前提当minmax时 当查询数大于或小于数组序数上所代表的数时通过移动min和max直接排掉一半的数来不断的锁定范围直到找到查询数所在的位置这个方法很像一尺之锤日取其半万世不竭不过是有目标的取当查询数等于数组序数上所代表的数时停止查找返回序数表示找到了。 当然还有特殊情况就是查询数不存在在数组中那么当minmax时就不找了返回-1表示找不到。 代码实现 public static int binary(int[] arr,int data){//定义三个变量分别代表最大索引,最小索引,中间索引int min 0;int max arr.length-1;int mid 0;//查找while (minmax){mid (minmax)/2;if(dataarr[mid]){min mid1;}else if(dataarr[mid]){max mid-1;}else{return mid;}}return -1;} 我们发现代码实现和理论方法步骤不同没有在一开始表示mid (minmax)/2,因为要循环的算中间索引在一进入循环时在while外层循环内再进行计算。 在main函数内调用方法进行输出完整代码如下 public class Demo03Binary {public static void main(String[] args) {int[] arr {1,2,3,4,5,6,7,8,9};int index binary(arr, 7);System.out.println(index);}public static int binary(int[] arr,int data){//定义三个变量分别代表最大索引,最小索引,中间索引int min 0;int max arr.length-1;int mid 0;//查找while (minmax){mid (minmax)/2;if(dataarr[mid]){min mid1;}else if(dataarr[mid]){max mid-1;}else{return mid;}}return -1;} } 输入7
http://www.hkea.cn/news/14268111/

相关文章:

  • html网站的上传重庆建设网站的公司简介
  • 智能网站南昌淘宝网站制作公司
  • 潮州营销型网站建设推广wordpress关闭错误提示
  • 企业网站建设有哪些书籍加强网站建设和信息公开
  • 班级网站的建设电商平台官网
  • 制作企业网站教程公主岭网站开发
  • wordpress站内301河南郑州建网站公司
  • 做民宿上几家网站好旅游网站建设 pig
  • 禅城区响应式网站青海省制作网站专业
  • 城口自助建站网站推广的主要途径
  • 贵阳能做网站的公司空间 wordpress
  • 网站设计要多少钱wordpress集成后台无法登录
  • 深圳外包公司网站知乎 上海做网站的公司
  • 域名买来可以做网站吗大学网站建设管理办法信息化
  • 网站集约化建设工作打算用营销的方式介绍自己
  • 嘉兴市南湖区建设街道网站阿里云建网站费用
  • 网站建设与维护相关知识东莞专业微网站建设价格低
  • 网站建设 博采网络 学校南通网站搭建定制
  • 北京比较好的网站开发公司福州做推广有哪些网站
  • 网站怎么做百度的关键字网站上如何设置行间距
  • 陶瓷企业 瓷砖地板公司网站建设变更网站怎么做
  • 二级网站免费建网站建设软件开发
  • 网站建设是多少钱响应式网页技术
  • 深圳如何搭建制作网站网站建设和维护自学
  • 网站备案花钱吗十大免费视频素材网
  • 网站根目录表示综合购物网站建站
  • 想给公司做个网站怎么做的漳州做网站建设的公司
  • 黑龙江网站建设业务闵行广州网站建设公司
  • 网站要交钱吗织梦服务行业手机网站模板
  • 洛阳网站设计公司wordpress 侧边栏 修改字体大小