黑马程序员_Java中几种排序算法
来源:互联网 发布:网络与现实的性格差异 编辑:程序博客网 时间:2024/05/23 00:02
------- android培训、java培训、期待与您交流! ----------
1)冒泡排序
import org.rut.util.algorithm.SortUtil;public class BubbleSort implements SortUtil.Sort{ public void sort(int[] data) { int temp; for(int i=0;i<data.length;i++){ for(int j=data.length-1;j>i;j--){ if(data[j]<data[j-1]){ SortUtil.swap(data,j,j-1); } } } }}
2)插入排序
import org.rut.util.algorithm.SortUtil;public class InsertSort implements SortUtil.Sort{ public void sort(int[] data) { int temp; for(int i=1;i<data.length;i++){ for(int j=i;(j>0)&&(data[j]<data[j-1]);j--){ SortUtil.swap(data,j,j-1); } } }}
3)选择排序
import org.rut.util.algorithm.SortUtil;public class SelectionSort implements SortUtil.Sort { public void sort(int[] data) { int temp; for (int i = 0; i < data.length; i++) { int lowIndex = i; for (int j = data.length - 1; j > i; j--) { if (data[j] < data[lowIndex]) { lowIndex = j; } } SortUtil.swap(data,i,lowIndex); } }}
4)快速排序
import org.rut.util.algorithm.SortUtil;public class QuickSort implements SortUtil.Sort{ public void sort(int[] data) { quickSort(data,0,data.length-1); } private void quickSort(int[] data,int i,int j){ int pivotIndex=(i+j)/2; //swap SortUtil.swap(data,pivotIndex,j); int k=partition(data,i-1,j,data[j]); SortUtil.swap(data,k,j); if((k-i)>1) quickSort(data,i,k-1); if((j-k)>1) quickSort(data,k+1,j); } private int partition(int[] data, int l, int r,int pivot) { do{ while(data[++l]<pivot); while((r!=0)&&data[--r]>pivot); SortUtil.swap(data,l,r); } while(l<r); SortUtil.swap(data,l,r); return l; }}归并排序/堆排序。。。。。。
------- android培训、java培训、期待与您交流! ----------
0 0
- 黑马程序员_Java中几种排序算法
- 黑马程序员_java各种排序
- 黑马程序员_java基础学习笔记之排序算法(选择排序、冒泡排序
- 黑马程序员_Java各种排序汇总
- 黑马程序员_Java实现对象的排序
- 黑马程序员_java数组排序、查找、置换
- 黑马程序员_Java中两种数组元素排序方法
- 黑马程序员_java学习for循环,函数,排序
- 黑马程序员_java的几种排序方法
- 黑马程序员_Java基础_函数,数组,常用排序
- 黑马程序员_java常用知识——排序
- 黑马程序员_日记26_Java字典序排序练习
- 黑马程序员_Java基础知识
- 黑马程序员_JAVA学习心得
- 黑马程序员_java多线程
- 黑马程序员_Java Applet
- 黑马程序员_Java高新技术
- 黑马程序员_Java必修课
- 程序员生存定律--编程的起点与可能的失足
- 《Python核心编程》第5章 习题
- PAT1013. Battle Over Cities
- 千里走单骑
- mysql备份还原
- 黑马程序员_Java中几种排序算法
- __thread关键字
- 匹配数字正则表达式
- NYOJ 915 +-字符串
- 判别以邻接表方式存储的有向图中是否存在由顶点vi到顶点vj的路径(i≠j)
- 20140618笔记
- 如何设置路由器或交换机,实现各自登录上网
- 创建.m文件一片空白的错误解决方案
- Wlan基础知识