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

安徽城乡建设网站wordpress调用网站标题

安徽城乡建设网站,wordpress调用网站标题,系统门户网站建设常用功能,网站开发app开发培训文章目录 冒泡排序算法说明代码实现 直接选择排序算法说明代码实现 快速排序算法说明代码实现 本篇主要讲解数组排序相关的三种算法,冒泡排序,直接排序和快速排序。 冒泡排序 算法说明 在数组中依次比较相邻的两个元素,当满足左侧大于右侧时…

文章目录

  • 冒泡排序
    • 算法说明
    • 代码实现
  • 直接选择排序
    • 算法说明
    • 代码实现
  • 快速排序
    • 算法说明
    • 代码实现

本篇主要讲解数组排序相关的三种算法,冒泡排序,直接排序和快速排序。

冒泡排序

算法说明

在数组中依次比较相邻的两个元素,当满足左侧大于右侧时(升序排序),则两个位置的元素互换。如此重复,最终即可完成数组的排序。

代码实现

public static void bubbleSort(int[] array){
// 循环轮数比数组大小小1轮for(int i = 1; i < array.length; i++){// 循环1轮后,最大的元素,已经排到数组后面,不用再参与比较for(int j = 0; j < array.length - i; j++){if(array[j] > array[j+1]){int temp = array[j];array[j] = array[j+1];array[j+1] = temp;}}}
}

直接选择排序

算法说明

依次找出数组中最小值的索引,并和数组左侧的元素进行位置交换。
这样从整体上就是数组的左侧部分是按照由小到大依次排列的有序数组。

代码实现

public static void selectSort(int[] array){for(int i = 0; i < array.length - 1; i++){// 记录比较的元素和索引int min = array[i];int minIndex = i;for(int j = i + 1; j < array.length; j++){if(array[j] < min){// 记录最小值的索引和值minIndex = j;min = array[j];}}// 将最小值与前面的元素交换int temp = array[minIndex];array[minIndex] = array[i];array[i] = temp;}
}

快速排序

算法说明

选择一个基准比较值,然后依据这个基准值,将数组分隔为两个部分,左侧的部分为所有小于基准的值,右侧部分为所有大于基准的值。

代码实现

/*** 快速排序法,排序数组* @author Ethan* @description* @param array*/public static void quickSort(int[] array){subSort(array,0,array.length - 1);}/*** 快速排序法的核心算法* @author Ethan* @description* @param array 被排序的数组* @param start 起始索引* @param end 结束索引*/public static void subSort(int[] array, int start, int end){if(start < end){
//            选取数组最左边的元素作为判断基础int base = array[start];int left = start;int right = end + 1;while(true){
//                从左向右遍历遇到大于基数的索引停止,left指向大于基数的索引while(left < end && array[++left] <= base);
//                从右向左遍历找到小于基数的索引停止,right指向小于基数的索引while(right > start && array[--right] >= base);
//                当大于基数的索引在小于基数的索引前时,进行交换,让小于基数的值都在左边,大于基数的值都在右边if(left < right) {swap(array,left,right);}else{break;}}
//            将基数和小于基数的最右边的元素位置对换swap(array,start,right);
//            递归排序分割后的数组subSort(array,start,right-1);subSort(array,right + 1,end);}}/*** 交换数组中两个索引处的数值* @author Ethan* @description* @param array* @param left* @param right*/public static void swap(int[] array, int left, int right){int temp = array[left];array[left] = array[right];array[right] = temp;}
http://www.yayakq.cn/news/426070/

相关文章:

  • 网站营销方式网站后台发文章图片链接怎么做
  • 如何自己做优惠券网站游戏开发专业
  • 做网站需准备些什么问题太原市做网站好的科技公司
  • 天津企业网站设计哪家好网页设计是用什么软件
  • 艺术培训学校系统网站怎么做食品行业网站开发
  • 阿里云 iis 默认网站深圳vi设计公司排名
  • wordpress网站注册不了在百度上打广告找谁
  • 网站开发概述企业门户网站的建设与实现
  • tp框架做视频网站动漫网站开发设计思想
  • 网站建设公司小程序开发小程序制作难吗
  • 网销网站建设流程图如何做seo搜索优化
  • 秦皇岛和平大街网站建设app开发软件怎么做
  • 网站手机页面做多大创建网站英文
  • 欧美平面设计网站一个服务器可以做多个网站吗
  • 动态设计网站长春新冠最新情况
  • 大连模板建站平台一个域名怎么做多个网站
  • 上街做网站网站建设及编辑岗位职责
  • 做网站网站彩票算犯法吗公司网站建设教程
  • 女生做网站前台广告制作公司开票范围
  • 小说网站风格做网站是怎么回事
  • 网站哪个公司做的比较好设计素材网站导航大全
  • 时代创信网站建设网站建设无法访问网站
  • 网站的不同类网站建设认证试题
  • 网站js时间代码夏门建设局网站
  • 百竞(湘潭)网站建设网站建设合同违约金细节
  • 户网站建设整改报告科技让生活更美好500字六年级
  • 如何在淘宝上接单网站建设迅睿cms建站教程
  • 手机网站 幻灯片js公司做网站需要哪些内容
  • 淘宝客做网站要钱吗深圳在线直播电视
  • 服装企业网站策划书水牛影视