Java的数组排序
对数组进行排序 使用到的排序算法有:
1 选择排序 2 冒泡排序 3 插入排序 4 JavaAPI提高排序算法
选择排序的原理:
1 将数组中每个元素与第一个元素比较,如果这个元素小于第一个元素,则交换这两个元素
2 循环第1条规则,找出最小元素,放于第1个位置
3 经过n-1轮比较完成排序
冒泡排序原理:
将相邻的元素进行比较,小的放在前面
插入排序原理:
将数组分为两部分, 将后部分的第一个逐一与前部分每一个元素比较,在合理位置插入
插入排序算法效率要高于选择排序和冒泡排序
代码如下:
import java.util.Arrays; /**
* 该类是用于对数组进行排序
* 使用到的排序算法有:1 选择排序 2 冒泡排序
* 3 插入排序 4 JavaAPI提高排序算法
* @author scywxx
*
*/
public class ArraySort { public static void main(String[] args) {
int[] array = {8,3,2,7,1};
//array = selectionSort(array);//调用选择排序
//array = bubbleSort(array);//调用冒泡排序
// array = insertSort(array);//调用插入排序
Arrays.sort(array);//调用javaAPI排序
System.out.println(Arrays.toString(array));//输出选择排序的结 果
//使用JavaAPI提高排序算法 }
/**
* 冒泡排序原理:
* 将相邻的元素进行比较,小的放在前面
* @param array
* @return
*/
public static int[] bubbleSort(int[] array) {
for(int i = 0; i < array.length - 1; i++)//总共进行 array.length-1轮
{
for(int j = 0;j< array.length-i-1; j++)
{
if(array[j] > array [j+1])//比较相邻的元素之 间的大小
{
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
return array;
}
/**
* 选择排序原理:
* 1 将数组中每个元素与第一个元素比较,如果这个元素小于第一个元素,则交 换这两个元素
* 2 循环第1条规则,找出最小元素,放于第1个位置
* 3 经过n-1轮比较完成排序
* @param array
* @return
*/
public static int[] selectionSort(int[] array) { for(int i = 0; i < array.length-1;i++)//总共进行array.length -1轮
{
for(int j = i+1;j<array.length;j++)
{
if(array[j]<array[i])//数组中元素小于第一个元 素
{
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
return array;
}
/**
* 插入排序原理:
* 将数组分为两部分, 将后部分的第一个逐一与前部分每一个元素比较,在合 理位置插入
* 插入排序算法效率要高于选择排序和冒泡排序
* @param array
* @return
*/
public static int[] insertSort(int[] array){
int t ,j;
for(int i = 1;i < array.length ;i++)//第一个数已经排好序 后 面的部分取第一个
{
t=array[i];
for( j = i-1;j > 0; j--)//将后部分的第一个逐一与前部 分比较
{
if(t < array[j])
{
array[j+1] = array[j];//该数后移
}
else
{
break;//退出
} }
array[j+1] = t;
}
r
Java的数组排序的更多相关文章
- Java实现数组排序
package com.souvc.hibernate.exp; public class MySort { /** * 方法名:main</br> * 详述:Java实现数组排序 < ...
- Java-Runoob-高级教程-实例-数组:01. Java 实例 – 数组排序及元素查找
ylbtech-Java-Runoob-高级教程-实例-数组:01. Java 实例 – 数组排序及元素查找 1.返回顶部 1. Java 实例 - 数组排序及元素查找 Java 实例 以下实例演示 ...
- Arrays 类操作 Java 的数组排序
使用 Arrays 类操作 Java 中的数组 Arrays 类是 Java 中提供的一个工具类,在 java.util 包中.该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序.搜索等( ...
- java - day004 - 数组排序,插入,冒泡
// 判断string 是否相等不能用 == 使用 equal 方法 Arrays.sort(数组); 数组排序算法 对基本类型. 优化的快速排序算法 对引用类型, 优化的合并排序算法
- java 集合数组排序
//数组排序Integer arr[] = {3,4,2};Arrays.sort(arr);//默认升序Arrays.sort(arr,Comparator.reverseOrder());//传一 ...
- LeetCode242 有效的字母异位词(Java字符数组排序&自定义排序记录)
题目: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t = "nagaram& ...
- 用Java给数组排序
public class BubbleDemo {public static void main(String[] args) { int arr[]={1,3,5,7,2,4,6,8,9}; bub ...
- Java通过几种经典的算法来实现数组排序
Java实现数组排序 package com.souvc.hibernate.exp; public class MySort { /** * 方法名:main</br> * 详述:Jav ...
- Java中的数组操作进阶
package com.mi.array; import java.util.Arrays; /** * System.arraycopy(i, 0, j, 0, i.length);这种复制会覆盖目 ...
随机推荐
- python虚拟环境搭建大全(转)
Pipenv & 虚拟环境 本教程将引导您完成安装和使用 Python 包. 它将向您展示如何安装和使用必要的工具,并就最佳做法做出强烈推荐.请记住, Python 用于许多不同的目的.准确地 ...
- Python之旅.第三章.函数3.26
一.函数: 1.为什么要有函数?什么是函数? 1.组织结构不清晰,可读性差 2.代码冗余 3.管理维护的难度极大,扩展性 具备某一个功能的工具就是程序的中函数 事先准备工具的过程---->函数的 ...
- MHA 安装与简单使用
MHA 在过去几年一直用的比较火,特别是在在传统复制的那个年代.至从有了GTID好像我们也可以把MHA给忘记了,但是很多企业现在还是在用的比较多.每个公司的MHA玩法也不太一样,但是本质都是差不多了. ...
- kubernetes进阶(04)kubernetes的service
一.service概念 Service是对一组提供相同功能的Pods的抽象,并为它们提供一个统一的入口.借助Service,应用可以方便的实现服务发现与负载均衡,并实现应用的零宕机升级.Service ...
- restful架构风格设计准则(一)以资源为中心、自描述的请求响应、资源状态迁移为粒度
读书笔记,原文链接:http://www.cnblogs.com/loveis715/p/4669091.html,感谢作者! 一.需求描述 当用户在某个电子商务网站购物时,他首先查看要购买的商品分类 ...
- Spring Security入门(3-9)Spring Security登录成功以后
- Java设计模式(七)Decorate装饰器模式
一.场景描述 (一)问题 系统中最初使用Crystal Report(水晶报表)工具生成报表,并将报表发送给客户端查看,此时定义一CrystalReport工具类即可完成水晶报表的生成工作. 后续报表 ...
- 相同域名不同端口的两个应用,cookie名字、路径都相同的情况下,会覆盖吗
首先答案是: 会的. 本地测试流程: 两个相同的应用,代码完全相同:只是部署在两个不同的tomcat:域名都是localhost 应用A:部署在http://localhost:8087/ 应用B:部 ...
- JAVA通过注解处理器重构代码,遵循单一职责
前言:最近在看一个内部网关代码的时候,发现处理Redis返回数据这块写的不错,今天有时间好好研究下里面的知识点. 业务流程介绍: #项目是采用Spring Boot框架搭建的.定义了一个@Redis注 ...
- 安装shellinabox-master
安装shellinabox-master 1 插件介绍:通过web页面管理linux主机(电脑版) a. 安装 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...