直接插入排序
基本思想:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置(从后向前找到合适位置后),直到全部插入排序完为止。

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)常用排序相关推荐

  1. Java常用排序算法/程序员必须掌握的8大排序算法

    本文由网络资料整理而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配排序(基数 ...

  2. Java 常用排序算法实现--快速排序、插入排序、选择、冒泡

    public class ArrayOperation { //二分查找算法     public static int branchSearch(int[] array, int searchNum ...

  3. Java常用排序方式总结

    排序的基本概念 **排序(sorting)**的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列 在待排序的序列中存在多个具有相同关键字的元素. 假设Ki=Kj(1≤ i≤ n,1≤ ...

  4. java常用排序总结(七种)

    个人博客查看原文 自制小小工具类点我访问   排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存 ...

  5. Java面试题整理,java常用排序算法图解

    微服务架构 ①微服务概念: ②Spring Cloud微服务架构: 海量数据处理 ①:经典的海量数据处理面试题 高可用架构 ①基于 Hystrix 实现高可用: ②限流: ③熔断: 高并发架构 ①消息 ...

  6. java 性能 排序_Java常用排序算法及性能测试集合

    package algorithm.sort; import java.lang.reflect.Method; import java.util.Arrays; import java.util.D ...

  7. 用c语言编写插入排序算法,C语言实现常用排序算法——插入排序

    插入排序是最基础的排序算法,原理: 首先1个元素肯定是有序的,所以插入排序从第二个元素开始遍历: 内循环首先请求一个空间保存待插入元素,从当前元素向数组起始位置反向遍历: 当发现有大于待插入元素的元素 ...

  8. java实现apriori算法_七大经典、常用排序算法的原理、Java 实现以及算法分析

    0. 前言 大家好,我是多选参数的程序员,一个正再 neng 操作系统.学数据结构和算法以及 Java 的硬核菜鸡.数据结构和算法是我准备新开的坑,主要是因为自己再这块确实很弱,需要大补(残废了一般) ...

  9. [转载] java实现四种常用排序算法

    参考链接: 用Java排序 四种常用排序算法 ##注:从小到大排 ##冒泡排序## 特点:效率低,实现简单 思想:每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有 ...

  10. Java折半二叉树,成都汇智动力-Java实现常用排序算法

    原标题:成都汇智动力-Java实现常用排序算法 排序算法介绍 1. 基本概念 稳定性: 待排序的数列中,若两个元素的值相等 R1 = R2 ,在排序结束之后,元素之间的相对位置没有发生变化,则称排序算 ...

最新文章

  1. 云计算安全解决方案白皮书(一)
  2. 时间序列基础教程总结!
  3. 美多商城之项目准备-工程创建和配置
  4. AttributeError: module ‘tensorflow‘ has no attribute ‘applications‘
  5. .Net高级技术——IDisposable
  6. Parameter-Efficient Fine-tuning 相关工作梳理
  7. 100%测试覆盖率真的有用吗?
  8. 从Hotspot JIT编译器打印生成的汇编代码
  9. 4月电脑分辨率TOP10 :仅亚军1920*1080占比上涨
  10. angular4更改表单中显示的值_关于angular4中FormBuilder重新赋值时发生的问题
  11. fastdfs文件上传 read timeout_一文看懂centos7系统部署FastDFS 分布式文件系统
  12. React Native在Android当中实践(一)——背景介绍
  13. 如何在Git上创建工程,演示在Git中创建项目
  14. 微信公众平台开发(41)一键关注微信公众平台账号
  15. 工厂模型——简单工厂和工厂方法
  16. iOS 给测试人员测试手机APP的四种方法:真机运行(略),打ipa包,(testFlighe)邮件,蒲公英(一)打ipa包
  17. 红队常用的防守策略.
  18. 雷达原理(一):雷达波形
  19. 虚拟服务器共享文件设置,虚拟机共享文件夹设置流程
  20. VSCode Python运行环境配置

热门文章

  1. 利用List比较数组有优势吗?
  2. 小程序button引导用户授权
  3. Centos6.9安装Oracle11G(静默方式)
  4. 自己动手写操作系统--个人实践
  5. PO Create PO时关于汇率问题需要注意的步骤
  6. AIX下两个常用命令
  7. BCH区块链上的预言机项目——Oracles
  8. 不契合市场,Bitcoin SV愿景未必是给矿工的一个好选择
  9. 经典爬虫:用Scrapy爬取百度股票
  10. Python导出Excel文件