- 浏览: 20723 次
- 性别:
文章分类
最新评论
package com.itheima.util; /** * 排序工具类 * * @author mrng * */ public class SortUtils { /** * 快速排序 如果调用此方法,次方法会再掉用quickSort(String[] strArr, int left, int rigth)方法 * left默认为0, right默认为strArr.length-1 * * @param strArr */ public static void quickSort(int[] arr) { quickSort(arr, 0, arr.length - 1); } /** * 快速排序 此方法可以对数组需要排序的区间进行定制 * * @param strArr * @param left * @param right */ public static void quickSort(int[] arr, int left, int right) { // 数组中间的元素 int middle = arr[(left + right) / 2]; // 临时变量,用于交换数组元素使用 int temp; // 向后搜索的指针 int i = left; // 向前搜索的指针 int j = right; do { while (arr[i] < middle && i < right) i++; // 找出左边比中间值大的数 while (arr[j] > middle && j > left) j--; // 找出右边比中间值小的数 if (i <= j) { // 将左边大的数和右边小的数进行交换 temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; i++; j--; } } while (i <= j); // 当两个指针交错时停止 // 将数组分开两半,确定每个数字的正确位置 if (i < right) { quickSort(arr, i, right); } if (j > left) { quickSort(arr, left, j); } } /** * 冒泡排序法 * * @param arr */ public static void BubbleSort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { arr[j] = arr[j] ^ arr[j + 1]; arr[j + 1] = arr[j] ^ arr[j + 1]; arr[j] = arr[j] ^ arr[j + 1]; } } } } /** * 选择排序法 */ public void SelectSort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { for (int j = i + 1; j < arr.length; j++) { if (arr[i] > arr[j]) { arr[i] = arr[i] ^ arr[j]; arr[j] = arr[i] ^ arr[j]; arr[i] = arr[i] ^ arr[j]; } } } } }
------- android培训、java培训、期待与您交流! ----------
发表评论
-
IO输入与输出
2012-08-13 17:21 0IO/输入输出 File类 它是IO包中唯一代表磁盘文件本身信 ... -
网络编程-总结01
2012-08-12 20:38 704网络模型: OSI参考模型 TCP/IP参考模型 ... -
黑马程序员-Java基础加强-知识总结
2012-07-30 04:24 1037------- android培训、java ... -
黑马程序员-银行业务调度系统的分析、设计、实现
2012-07-28 20:19 795------- android培训、java培训、期待与 ... -
黑马程序员-交通灯管理系统的分析、设计、实现
2012-07-28 01:49 715------- android培训、java培训、期待与 ... -
黑马程序员-编程基础03-单例设计模式
2012-07-27 17:47 583------- android培训、java培训、期待与 ... -
黑马程序员-编程基础02-小知识点
2012-07-27 17:12 845------- android培训、jav ... -
黑马程序员-编程基础01-进制
2012-07-26 17:19 865------- android培训、java培训、期待与您交流 ... -
黑马程序员-Java开发前奏
2012-07-26 17:10 743------- android培训、java培训、期待与您交流 ... -
IO-1
2012-07-24 18:26 08.File类 1)File类是IO包中唯一代表磁 ... -
IO-2
2012-07-24 18:24 011.字符编码 计算机里只有数字,计算机里的一 ... -
为什么匿名内部类只能访问其所在方法中的final变量
2012-07-24 18:03 0(1).所谓“局部内部类”就是在对象的方法成员内部定义的类。而 ... -
黑马程序员-网络编程-总结02
2012-07-25 00:04 661------- android培训、java培训、期待与 ... -
黑马程序员-GUI
2012-07-25 00:08 640------- android培训、java培训、期待与 ... -
黑马程序员-IO包中的其它对象
2012-07-25 00:04 656------- android培训、ja ... -
黑马程序员-异常
2012-07-25 00:03 706------- android培训、java培训、期待与 ... -
黑马程序员-&和&&的区别
2012-07-24 14:31 539------- android培训、java培训、期待与 ... -
黑马程序员-将指定目录下的文件复制到指定的目录,并更改扩展名
2012-07-24 14:20 1001------- android培训、java培训、期待与 ... -
黑马程序员-wait and notify
2012-07-24 13:12 701------- android培训、jav ... -
黑马程序员-线程状态转换图
2012-07-24 13:01 1158-------- android培训、java ...
相关推荐
数据结构课程设计报告---几种排序算法的演示(附源代第.doc
最快的排序算法 谁才是最强的排序算法:快速排序-归并排序-堆排序,排序算法数据结构
数据结构(C语言)--8种排序算法.pdf
一些常用排序算法的C语言实现,包括直接选择排序,希尔排序,直接插入排序,快速排序,归并排序,冒泡排序,堆排序
数学建模方法详解--16种常用算法
此文件为数据结构中的九种排序算法,包含一些排序方法的过程,其九种排序包括:直接插入排序,折半插入排序,希尔排序,冒泡排序,快速排序,选择排序,堆排序,归并排序,基数排序!
设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。 【基本要求】 (1)实现各种内部排序。包括冒泡排序,直接选择排序,希尔排序,快速排序,堆排序。 (2) 待排序的元素的关键字为整数...
常用排序算法总结常用排序算法总结常用排序算法总结常用排序算法总结常用排序算法总结常用排序算法总结常用排序算法总结常用排序算法总结常用排序算法总结常用排序算法总结
该程序包含7大排序算法: # sort.bubbleSort() #冒泡排序 # sort.shellSort() #希尔排序 # sort.insertionSort() #插入排序 # sort.Selectionsort1() #选择排序 # sort.heapSort() #堆排序 # sort.countSort() ...
经典算法-C#四种排序算法,可以看看,希望能给你点帮助!!!
Java常用排序算法&程序员必须掌握的8大排序算法+二分法查找 Java常用排序算法&程序员必须掌握的8大排序算法+二分法查找
几种常用语音增强算法的研究,吴晓宇,,语音增强算法是语音信号处理领域一个重要分支,它通过对语音信号进行预处理,抑制或消除背景噪声,提高语音质量。本文介绍了谱减
数据结构--常用的几个排序算法,都是一些最基础的内容,同时也是笔试中经常要用的。
(2)需要实现起泡排序(Bubble)、直接插入排序(Insert)、简单选择排序(Select)、快速排序(Quick)、希尔排序(Shell)、堆排序(Heap)几种基本排序算法。 (3)需要实现数据的插入操作,将五组数据存入...
本项目用C++中实现了冒泡排序、插入排序、堆排序、希尔排序、归并排序、基数排序、选择排序、桶排序、快速排序
一种速度更快的粒子群优化算法-何庆元,排序算法数据结构.pdf
包括冒泡排序,选择排序,插入排序,希尔排序,快速排序等常用排序算法的实现并耗时比较
VC++多线程实现三种排序算法比较----冒泡排序、快速排序、归并排序,很有意思,可以下载看看!
Java常用排序算法程序员必须掌握的8大排序算法Java开发Java经验技巧共16页.pdf.zip