java的几种常用的排序
来源:互联网 发布:c语言 整数奇偶排序 编辑:程序博客网 时间:2024/05/01 10:45
- 排序
排序是将一群数据,依指定的顺序进行排列的过程
排序的分类
1.内部排序
指将需要处理的所有数据都加载到内部存储器中进行排序,包括(交换式排序法,选择式排序法和插入式排序法)
2.外部排序
数据量过大,无法全部加载到内存中,需要借助外部存储进行排序,包括(合并排序法和直接合并排序法)
- 交换式排序
1.冒泡排序法(Bubble sort)
2.快速排序法(Quick sort)
- 选择式排序
1.选择排序法(Selection sort)
2.堆排序法(Heap sort)
- 插入式排序
1.插入式排序法(Insertion sort)
2.谢尔排序法(Shell sort)
3.二叉式排序法(Binary-tree sort)
//快速排序class QuickSort{ public void sort(int [] a, int low, int high ) { int pos; if (low<high) { pos = FindPos(a, low, high); sort(a, low, pos-1); sort(a, pos+1, high); } } public int FindPos(int [] a, int low, int high) { int val = a[low]; while (low<high) { while (low<high && a[high]>=val) --high; a[low] = a[high]; while (low<high && a[low]<=val) ++low; a[high] = a[low]; } a[low] = val; return low; }}
//插入排序class InsertSort{ public void sort(int arr[]){ for(int i=1;i<arr.length;i++) { int insertVal=arr[i]; //insertVal准备和前一个数比较 int index=i-1; while(index>=0&&insertVal<arr[index]) { //将把arr[index]向后移动 arr[index+1]=arr[index]; //让index向前移一位 index--; } arr[index+1]=insertVal; } }}
//选择排序class Select{ public void sort(int arr[]){ int temp=0; //认为第一个最小 for(int j=0;j<arr.length-1;j++) { int min=arr[j]; //记录最小数的下标 int minIndex=j; for(int k=j+1;k<arr.length;k++) { if(min>arr[k]) { //修改最小 min=arr[k]; minIndex=k; } } //当退出for就找到这次的最小值 temp=arr[j]; arr[j]=arr[minIndex]; arr[minIndex]=temp; } }}
//冒泡排序class Bubble{ public void sort(int arr[]){ int temp=0; //排序 //外层循环,它决定一共走几趟 for(int i=0;i<arr.length-1;i++) { //内层循环,开始逐个比较,如果发现前一个数比后一个书则交换 for(int j=0;j<arr.length-1-i;j++) { if(arr[j]>arr[j+1]) { //换位 temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } }}
0 0
- java的几种常用的排序
- JAVA 几种常用排序的实现
- java 常用的几种排序方式
- java几种常用的排序算法
- Java常用的几种排序算法
- 常用的几种排序
- 用Java实现几种常用的排序算法
- java的几种常用排序方法集合
- java中常用的几种排序算法
- java 运用数组常用的几种排序方法
- java中常用的几种排序算法
- java中数组常用的几种排序算法
- 转载:Java常用的几种排序算法 。
- 用java编写几种常用的排序算法
- java 数组的几种常用排序算法
- Java的几种常用排序算法分析
- java常用的几种排序(冒泡排序 选择 插入排序 /快速排序)
- 几种常用的排序方法。
- SQL 日期转换
- MySQL之功能1 --- Percona-Server5.6首发提供日志审计功能
- ACM:DAG上的动态规划------嵌套矩形
- 矩阵求逆的C语言实现
- iOS下的UILocalNotification的使用
- java的几种常用的排序
- 计算器实验
- 有胃病怎么吃最好
- python操作mysql数据库(常用函数)
- android实现记住用户名和密码以及实现自动登录
- uml类图关系
- 一个用 C++ 实现的快速无锁队列
- 浙大PAT考试1005~1008
- 两表连接