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);这种复制会覆盖目 ...
随机推荐
- crontab的mysqldump备份任务未能完全正确执行的故障处理
crontab是每个运维一线人员必须掌握的技术,熟练运用crontab可以自动帮助我们执行重复性的工作,提高运维的工作效率.它就像一个闹钟,在特定的时间,准时响应并执行相应的任务.如果你的工作经常与L ...
- jquery实现对div的拖拽功能
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- MYSQL之视图、触发器、存储过程、函数、事物、数据库锁和数据库备份
一.视图 -- view 视图:是一个虚报表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据. 视图有如下特点: 1.视图的列可以来自不同的表,是表的抽象和逻辑意义上建立的新关系 ...
- jenkins创建pipeline
新建任务的时候,有两个流水线相关的任务类型,如下图.其中:流水线更加针对单主干模式的开发,在主干目录下放一个Jenkinsfile文件,其中该文件保存了从SCM拉代码.构建.测试.发布等等流程. 而M ...
- SQL优化(SQL TUNING)之10分钟完成亿级数据量性能优化(SQL调优)
前几天,一个用户研发QQ找我,如下: 自由的海豚. 16:12:01 岛主,我的一条SQL查不出来结果,能帮我看看不? 兰花岛主 16:12:10 多久不出结果? 自由的海豚 16:12:17 多久都 ...
- 【机器学习】Iris Data Set(鸢尾属植物数据集)
注:数据是机器学习模型的原材料,当下机器学习的热潮离不开大数据的支撑.在机器学习领域,有大量的公开数据集可以使用,从几百个样本到几十万个样本的数据集都有.有些数据集被用来教学,有些被当做机器学习模型性 ...
- Java集合框架知多少——干货!!!
Java集合框架的组成 注意:四个接口的区别 ① Collection:存储无序的.不唯一的数据: ② List:存储有序的.不唯一的数据: ③ Set:存储无序的.唯一的数据: ④ Map:以键值对 ...
- matlab coder 工具箱使用教程
之前一直听说matlab代码可以转C和C++代码,但是一直都没有时间尝试,最近闲着无聊,就想来试试如何转换,上网查了很多资料,照着做下去,发现都有一些问题,之后自己琢磨了很久,终于将一个很简单的例子给 ...
- springboot集成mybatis(一)
MyBatis简介 MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到了google code,并且改名为MyB ...
- [LeetCode] Longest Word in Dictionary through Deleting 删除后得到的字典中的最长单词
Given a string and a string dictionary, find the longest string in the dictionary that can be formed ...