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

上海制造网站公司百度推广销售员好做吗

上海制造网站公司,百度推广销售员好做吗,外贸网站都有哪些内容,怎样把网站打包做百度小程序一、冒泡排序法 冒泡排序法 原始数据#xff1a;3 2 7 6 8 第1次循环#xff1a;#xff08;最大的跑到最右边#xff09; 2 3 7 6 8#xff08;3和2比较#xff0c;23 所以2和3交换位置#xff09; 2 3 7 6 8#xff08;3和7比较#xff0c;37 所以不需要交…一、冒泡排序法 冒泡排序法 原始数据3 2 7 6 8 第1次循环最大的跑到最右边 2 3 7 6 83和2比较23 所以2和3交换位置 2 3 7 6 83和7比较37 所以不需要交换位置 2 3 6 7 86和7比较67 所以6和7交换位置 2 3 6 7 87和8比较78 所以不需要交换位置 经过第1次循环此时剩下参与比较的数据2 3 6 7 第2次循环 2 3 6 72和3比较23所以不需要交换位置 2 3 6 73和6比较36所以不需要交换位置 2 3 6 7  (6和7比较67所以不需要交换位置 经过第2次循环此时剩下参与比较的数据是2 3 6 第3次循环 2 3 62和3比较23所以不需要交换位置 2 3 63和6比较36所以不需要交换位置 经过第3次循环此时剩下参与比较的数据是2 3 第4次循环 2 32和3比较23所以不需要交换位置 public class BubbleSort{ public static void main(String[] args){ //这是int类型的数组对象 int[] arr {3,2,6,7,8}; //经过冒泡排序算法对以上数组中元素进行排序 //冒泡排序算法的核心是什么 //7条数据循环6次。以下的代码可以循环6次冒泡排序法采用外层循环 int count 0; for(int iarr.length-1;i0;i--){ //不管是否需要交换总之是要比较一次的 count; //9 8 10  7 6 0 11 for(int j0;jij){ if(arr[i]arr[j1]){ //交换位置 //arr[j]和arr[j1]交换 int temp; temp arr[j]; arr[j] arr[j1]; arr[j1] temp; } } } System.out.println(比较次数:”count); //输出结果 for(int i0;iarr.length;i){ System.out.println(arr[i]); } } } 二、选择排序法 选择排序法比冒泡排序法的效率高 高在交换位置上 选择排序的交换位置是有意义的 每一次从这“堆”参与比较的数据当中“找出最小值” 拿这个最小值和“参与比较的这堆最前面的元素”交换位置 循环一次然后找出参加比较的这堆数据中最小的。拿这个最小的值和 最前面的数据交换位置。 参与比较的数据3 1 6 2 5 第1次循环之后的结果是 1 3 6 2 5 下次参与比较的数据3 6 2 5 第2次循环之后的结果是2 6 3 5 下次参与比较的数据是6 3 5 第3次循环之后的结果是3 6 5 下次参与比较的数据是 6 5 第4次循环之后的结果是 5 6 注意5条数据循环4次 冒泡排序和选择排序实际上比较的次数没变 交换位置的次数减少了 3 2 6 1 5 假设 第1个3是最小的 3和2比较发现2更小所以此时最小的是2 继续拿着2往下比对2和6比较2仍然是最小的 继续拿着2往下比对2和1比对发现1更小所以此时最小的是1 继续拿着1往下比对1和5比对发现1还是小的所以1就是最小的 拿着1和最左边的3交换位置 2 6 3 5 假设 第1个2是最小的 …… 6 3 5 假设6是最小的6和3比对发现3更小所以此时最小的是3 …… public class SelectSort{ public static void main(String[] args){ int[] arr {3,1,6,2,5}; int count 0; //选择排序 //5个数据循环4次外层循环4次 for(int i0;iarr.length-1;i){ //i的值是0 1 2 3 //i正好是“参加比较的这堆数据中”最左边那个元素的下标 //i是一个参与比较的这堆数据中的起点下标 //假设起点i下标位置上的元素是最小的 int min I; for(int ji1;jarr.length;j){ count; if(arr[j]arr[min]){ min j;   //最小值的元素下标是j  } } //当i和min相等时表示最初猜测是对的 //当i和min不相等时表示最初猜测是错的有比这个元素更小的元素 //需要拿着这个更小的元素和最左边的元素交换位置 if(min!i){ //表示存在更小的数据 //arr[min]最小的数据 //arr[i]最前面的数据 int temp; temp arr[min]; arr[min arr[i]; arr[i] temp; } } System.out.println(比较次数count); //排序之后遍历 for(int i0;iarr.length;i){ System.out.println(arr[i]); } } } 三、二分法查找 数组的元素查找 数组元素查找两种方式 第一种方式一个一个挨着找直到找到为止 第二种方式二分法查找算法这个效率较高 public class ArraySearch{ public static void main(String[] args){ //这个例子演示第一种方式 int[] arr {4,5,6,87,8}; //需求找出87的下标。一个一个挨着找 for(int i0;iarr.length;i){ if(arr[i]87){ System.out.println(87元素的下标是i); return; } } //程序执行到此处表示没有87 System.out.println(87不存在该元素); //最好以上的程序封装到一个方法思考传什么参数返回什么值 //传什么第一个参数是数组第二个参数是被查找的元素 //返回值返回被查找的这个元素的下标如果找不到返回-1 int index arraySearch(arr,87); System.out.println(index -1?该元素不存在1:该元素下标是index): } //从数组中检索某个元素的下标返回的是第一个元素的下标 //arr 被检索的数组 //ele 被检索的元素 //大于等于0的数表示元素的下标-1表示该元素不存在 public static void arraySearch(int[] arr,int ele){ for(int i0;iarr.length;i){ if(ele arr[i]){ return I; } } return -1; } } 关于查找算法中的二分法查找 10下标011 12 13 14 15 16 17 18 19 20下标10 arr数组 通过二分法查找找出18这个元素的下标 010/2--中间元素的下标5 拿着中间这个元素和目标要查找的元素进行对比 中间元素是arr[5]--15 1518(被查找的元素 被查找的元素18在目前中间元素15的右边 再重新计算一个中间元素的下标 开始下标是51 结束下标是10 610/2--8 8下标对应的元素arr[8]是18 找到的中间元素正好和被查找的元素18相等表示找到了下标为8 二分法查找的终止条件一直折半直到中间的那个元素恰好是被查找的元素 二分法查找算法是基于排序的基础之上。没有排序的数据是无法查找的 publc class ArrayUtil{ public static void main(String[] args){ int[] arr {100,200,230,235,600,1000,2000,9999); //找出arr这个数据中200所在的下标 //调用方法 int index binarySearch(arr,200); System.out.println(index-1?该元素不存在!:该元素下标”index); } // dest 目标元素 //-1表示该元素不存在其他表示返回该元素的下标 public static void binarySearch(int[] arr,int dest){ //开始下标 int begin 0; //结束下标 int end arr.length-1; //开始元素的下标只要在结束元素下标的左边就有机会继续循环 while(beginend){ //中间元素下标 int mid (beginend)/2; if(arr[mid]dest){ return mid; }else if(arr[mid]dest){ //目标在“中间”的右边 //开始元素下标需要发生变化开始元素的下标需要重新赋值 begin mid 1;  //一直加 }else{ //arr[mid]dest //目标在“中间”的左边 //修改结束元素的下标 end mid -1;  //一直减 } } return -1; } 二分法查找原理 10下标是0 23 56 89 100 111 222 235 500 600下标9arr数组 目标找出600的下标 09/2--4(中间元素的下标 arr[4]这个元素就是中间元素arr[4]是100 100600 说明被查找的元素在100的右边 那么此时开始下标变成41 59/2--7中间元素的下标 arr[7]对应的值是235 235600 说明被查找的元素在235的右边 开始下标有进行了转变71 89/2--8 arr[8]--500 500600 开始元素的下标又发生了变化81 (99)/2--9 arr[9]是600正好和600相等此时找到了
http://www.zqtcl.cn/news/319967/

相关文章:

  • 北京建网站已备案网站新增接入
  • 做搬家服务网站问卷调查的目的房产网签是什么意思
  • 江苏品牌网站设计美团后台管理系统登录
  • 没有备案的网站会怎么样深圳的互联网公司排名
  • 阿里云 建设网站北京百度竞价托管公司
  • 怎么样做长久的电影网站安卓手机应用市场
  • 网站建设账户搭建济南网络优化哪家专业
  • 宜兴城乡建设局网站wordpress调用logo
  • 让他人建设网站需要提供的材料女生读电子商务好就业吗
  • 北大荒建设集团网站国内开源代码网站
  • 高端企业网站要多少钱中企动力z云邮箱登录
  • 网站建设视频教程百度云那种自行提取卡密的网站怎么做
  • 网站外链建设与维护网站建设客户调研表
  • 海南省建设银行官方网站招聘营销的主要目的有哪些
  • flask 简易网站开发网站建设和空间
  • 怀化建设网站wordpress静态化插件
  • 网站上的中英文切换是怎么做的大连网站制作优选ls15227
  • 网站开发工作安排广告设计公司有哪些
  • 无人机公司网站建设用什么软件做网站最简单
  • 企业微信app下载安装电脑版淄博网站优化价格
  • 做一个电影网站需要多少钱在线代理服务器网站
  • 怎样制作微信网站办网络宽带多少钱
  • ios开发者账号有什么用嘉兴网站关键词优化
  • 怎样在外贸网站做业务简付后wordpress
  • html网页制作源代码成品长沙 网站优化
  • 长沙做网站哪里好百度招聘 网站开发
  • 创建网站服务器银川建设厅网站
  • 海口建设局网站代运营网站建设
  • 网站建设环境搭建心得体会微信开发者模式
  • 网站点击率多少正常落地页网站