(Java)常用排序
直接插入排序
基本思想:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置(从后向前找到合适位置后),直到全部插入排序完为止。
public void InsertSort(array a){int i,j;for(i = 1; i < a.length; i++){int temp = a[i];for(j = i - 1; j >= 0 ; j--){if(a.[j] > temp){a.[j+1] = a.[j];}else{break;}}a.[j+1] = temp;}
}
选择排序
基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。
public void SelectionSort(array a){for(int i = 0; i < a.length - 1; i++){int MinIndex = i;for(int j = i + 1; j < a.length; j++){if(a[MinIndex] > a[j]){MinIndex = j;}}if(MinIndex != i){int temp = a[i];a[i] = a[MinIndex];a[MinIndex] = temp;}
}
冒泡排序
基本思想:从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移。每经过一趟排序后,关键字值最大的元素将移到末尾,此时记下该元素的位置,下一趟排序只需要比较到此位置为止,直到所有元素都已有序排列。
一般地,对n个元素进行冒泡排序,总共需要进行n-1趟。第1趟需要比较n-1次,第2趟需要比较n-2次,……第i趟需要比较n-i次。
public void BubbleSort(array ar){for(int i = 0 ; i < ar.length-1; i++) {for(int j = 0; j < ar.length-1-i; j++){if(ar[j] >= ar[j+1]){int temp;temp = ar[j];ar[j] = ar[j+1];ar[j+1] = temp;}}}}
(Java)常用排序相关推荐
- Java常用排序算法/程序员必须掌握的8大排序算法
本文由网络资料整理而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配排序(基数 ...
- Java 常用排序算法实现--快速排序、插入排序、选择、冒泡
public class ArrayOperation { //二分查找算法 public static int branchSearch(int[] array, int searchNum ...
- Java常用排序方式总结
排序的基本概念 **排序(sorting)**的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列 在待排序的序列中存在多个具有相同关键字的元素. 假设Ki=Kj(1≤ i≤ n,1≤ ...
- java常用排序总结(七种)
个人博客查看原文 自制小小工具类点我访问 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存 ...
- Java面试题整理,java常用排序算法图解
微服务架构 ①微服务概念: ②Spring Cloud微服务架构: 海量数据处理 ①:经典的海量数据处理面试题 高可用架构 ①基于 Hystrix 实现高可用: ②限流: ③熔断: 高并发架构 ①消息 ...
- java 性能 排序_Java常用排序算法及性能测试集合
package algorithm.sort; import java.lang.reflect.Method; import java.util.Arrays; import java.util.D ...
- 用c语言编写插入排序算法,C语言实现常用排序算法——插入排序
插入排序是最基础的排序算法,原理: 首先1个元素肯定是有序的,所以插入排序从第二个元素开始遍历: 内循环首先请求一个空间保存待插入元素,从当前元素向数组起始位置反向遍历: 当发现有大于待插入元素的元素 ...
- java实现apriori算法_七大经典、常用排序算法的原理、Java 实现以及算法分析
0. 前言 大家好,我是多选参数的程序员,一个正再 neng 操作系统.学数据结构和算法以及 Java 的硬核菜鸡.数据结构和算法是我准备新开的坑,主要是因为自己再这块确实很弱,需要大补(残废了一般) ...
- [转载] java实现四种常用排序算法
参考链接: 用Java排序 四种常用排序算法 ##注:从小到大排 ##冒泡排序## 特点:效率低,实现简单 思想:每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有 ...
- Java折半二叉树,成都汇智动力-Java实现常用排序算法
原标题:成都汇智动力-Java实现常用排序算法 排序算法介绍 1. 基本概念 稳定性: 待排序的数列中,若两个元素的值相等 R1 = R2 ,在排序结束之后,元素之间的相对位置没有发生变化,则称排序算 ...
最新文章
- 云计算安全解决方案白皮书(一)
- 时间序列基础教程总结!
- 美多商城之项目准备-工程创建和配置
- AttributeError: module ‘tensorflow‘ has no attribute ‘applications‘
- .Net高级技术——IDisposable
- Parameter-Efficient Fine-tuning 相关工作梳理
- 100%测试覆盖率真的有用吗?
- 从Hotspot JIT编译器打印生成的汇编代码
- 4月电脑分辨率TOP10 :仅亚军1920*1080占比上涨
- angular4更改表单中显示的值_关于angular4中FormBuilder重新赋值时发生的问题
- fastdfs文件上传 read timeout_一文看懂centos7系统部署FastDFS 分布式文件系统
- React Native在Android当中实践(一)——背景介绍
- 如何在Git上创建工程,演示在Git中创建项目
- 微信公众平台开发(41)一键关注微信公众平台账号
- 工厂模型——简单工厂和工厂方法
- iOS 给测试人员测试手机APP的四种方法:真机运行(略),打ipa包,(testFlighe)邮件,蒲公英(一)打ipa包
- 红队常用的防守策略.
- 雷达原理(一):雷达波形
- 虚拟服务器共享文件设置,虚拟机共享文件夹设置流程
- VSCode Python运行环境配置