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

新康家园网站建设美工网站设计

新康家园网站建设,美工网站设计,漂亮的html静态页面,成都装修公司哪家口碑最好package cn.com.dom4j.sort;public class QuickSort {/**快速排序在 Java中, 快速排序被用作基本数据类型的排序 (当然, 不只快速排序一种)快速排序是实践中的一种快速的排序算法, 在 C或对 Java基本类型的排序证特别有用.它的平均运行时间是 O(N logN), 该算法之所以特别快, 主…package cn.com.dom4j.sort;public class QuickSort {/**快速排序在 Java中, 快速排序被用作基本数据类型的排序 (当然, 不只快速排序一种)快速排序是实践中的一种快速的排序算法, 在 C或对 Java基本类型的排序证特别有用.它的平均运行时间是 O(N logN), 该算法之所以特别快, 主要是由于非常精炼和高度优化的内部循环.它的最坏情形性能为 O(N^2), 但经过稍许努力可是这种情形极难出现.通过将快速排序和堆排序结合, 由于堆排序的 O(N logN)最坏情形运行时间, 我们可以对几乎所有的输入都能达到快速排序的快速运行时间*/public static void quickSort(AnyType[] a) {quickSort(a, 0, a.length - 1);}/*** 快速排序主例程** param a 原始数组* param left 起始索引* param right 结束索引* param 实现了 Comparable接口的类或其子类*/private static void quickSort(AnyType[] a, int left, int right) {// 定义数组大小边界, 小于这个值时使用插入排序int CUTOFF 10;// 数组元素较少的时候, 使用插入排序来获取更快的速度; 元素较多时, 使用快排if (left CUTOFF right) {// 三数中值分割法产生枢纽元AnyType pivot median3(a, left, right);// i: 比枢纽元小的元素起始索引; j: 大元素的起始索引int i left, j right - 1;for ( ; ; ) {// 小元素指针不断向右推进, 直到找到比枢纽元大的元素while (a[i].compareTo(pivot) 0) {}// 大元素指针向左推进, 遇到比枢纽元小的元素终止while (a[--j].compareTo(pivot) 0) {}// 两个索引未交叉时, 代表大小序列还未分割完成, 交换位置后继续分割// 交叉时代表分割完成if (i j)swap(a, i, j);elsebreak;}// 分割完成后, 将枢纽元和小元素索引终止处的元素位置互换// 此时, 枢纽元左侧都为小元素, 右侧都为大元素 (相对于枢纽元而言)swap(a, i, right - 1);// 对分割后的子序列重复上面操作quickSort(a, left, i - 1);quickSort(a, i 1, right);} else {insertionSort(a, left, right);}}/*** 对数组的指定部分使用插入排序* param a 原始数组* param left 起始索引* param right 结束索引* param 实现了 Comparable接口的类型或其子类*/private static void insertionSort(AnyType[] a, int left, int right) {if (right - left 0 || left 0 || right a.length - 1) {return;}AnyType tmp;int j;for (int i left 1; i right; i) {tmp a[i];for (j i; j left tmp.compareTo(a[j - 1]) 0; j--) {a[j] a[j - 1];}a[j] tmp;}}/**三数中值分割法使用左端, 右端和中心位置上的三个元素的中值作为枢纽元*/private static AnyType median3(AnyType[] a, int left, int right) {int center (right - left) / 2;// 对左中右三个位置的元素位置进行调整// 最小的元素被放在最左端, 最大的元素放在最右端, 中间的元素放在中间位置, 中间元素要作为枢纽元if (a[center].compareTo(a[left]) 0) {swap(a, left, center);}if (a[right].compareTo(a[left]) 0) {swap(a, left, right);}if (a[right].compareTo(a[center]) 0) {swap(a, center, right);}// 将枢纽元和右端倒数第二个元素交换位置, 使枢纽元离开数组, 便于元素比较swap(a, center, right - 1);// 将枢纽元返回return a[right - 1];}/*** 交换数组中两个元素的位置*/private static void swap(AnyType[] arr, int i, int j) {if (arr null || arr.length 1 || i j) {return;}AnyType tmp arr[i];arr[i] arr[j];arr[j] tmp;}}
http://www.zqtcl.cn/news/753678/

相关文章:

  • 深圳住房和建设局网站 招标怎样建设自己的视频网站
  • 网站建设的目的模板茶网站建设需要多少钱
  • 珠海市城乡住房建设局网站网站外链
  • 福田做网站需要多少钱做淘宝客网站性质
  • html网站怎么进入后台网站主题怎么写
  • wordpress怎么ftp建站高端网站建设域名注册
  • 我用织梦5.7做个网站应该把淘宝客店铺链接放到哪聊天软件开发需要多少钱
  • 站长工具爱站竞价单页网站制作
  • 网站分类目录大全购物网站大全棉鞋
  • 网站镜像做排名建立外贸英文网站应该怎么做
  • 上海做网站就用乐云seo手机网站cms 下载
  • 做网站需要固定ip么灵犀科技网站建设
  • 深圳高端做网站建设网站备案与不备案区别
  • 家居企业网站建设公司苏州高新区建设局网站管网
  • 体育门户网站模板seo网络推广有哪些
  • 石家庄网站建设教程百度云下载
  • 怎样查看网站建设时间公司网站关键词优化
  • 网站淘宝推广怎么做网站seo基本流程
  • miit网站备案济南哪里做网站
  • 做网站软件的公司前端优化
  • 哪个网站有做形象墙汉沽网站建设制作
  • 网站alexa排名查询免费发帖的平台有哪些
  • 德国网站后缀濮阳房产网站建设
  • 漕泾网站建设做网站php语言用什么工具
  • 专业营销的网站建设公司哪家好专门做二手书的网站
  • 建新网站开发流程图电子商务网站开发综合实训报告
  • 临汾网站建设销售长沙网站建设1681989
  • 最近国内外重大新闻事件贺贵江seo教程
  • 网站开发源码网站运营建设方案
  • 网站建设公司 跨界鱼科技专业简述网站的制作步骤