排序之java
这里讲解三种基本的排序:冒泡排序,插入排序,选择排序
冒泡排序:搜索整个值,比较相邻的两个值。如果后者值大于前者,则进行交换。(优化:可采用boolean值处理)
public static void bubbleSort(int data[]){
//获取所有长度
int l=data.length;
//循环总个数-1
for(int i=0;i<l-1;i++ ){
//比较相邻的两个数,如果后者大于前者,则交换。
for(int j=1;j<l-i;j++){
if(data[j-1]<data[j]){
int temp=data[j];
data[j]=data[j-1];
data[j-1]=temp;
}
}
for(int d:data){
System.out.println(d);
}
System.out.println("=================");
}
选择排序:感觉和冒泡有点像。搜索整个值,将第一个值和后面所有的值进行比较,取出最小的数放入第一个,然后第二个数继续和后面所有的值比较,然后取出最小的值放入第二个,依次类推。(优化:可采用boolean值处理)
public static void chooseSort(int []b){
for(int i=0; i<b.length-1; i++){
//将第i个值和所有值进行比较,取出最小值放入第i个。
for(int j=i+1;j<b.length;j++){
if(b[i]>b[j]){
int temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
for(int d:b){
System.out.println(d);
}
System.out.println("=================");
}
}
插入排序:将第一个数据和第二个数据进行有序排列,从0到I个数据进行有序排列,然后将I+1插入到0+I的有序排列中。逐步实现有序排列。(优化:可采用二分法)
public static void insertSort(int []b){
//取第二个到最后一个值遍历
for(int i=1; i<b.length; i++){
//对0到i个值进行有序排列
for(int j=0;j<i;j++){
if(b[i]<b[j]){
int temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
for(int d:b){
System.out.println(d);
}
System.out.println("=================");
}
}
分享到:
相关推荐
以下是Java实现堆排序的基本步骤: 1. 构建大顶堆:从最后一个非叶子节点(即最后一个元素的父节点)开始,自底向上、自右向左进行调整,确保每个节点都大于或等于其子节点。 2. 交换堆顶元素与末尾元素:将最大...
Java ip 地址排序Java ip 地址排序Java ip 地址排序Java ip 地址排序
八大排序java实现版本,直接插入排序、折半插入排序、冒泡排序、简单选择排序、希尔插入排序、快速排序 、堆排序、2-路归并排序 、基数排序,并有时间比较,博文...
### Java 中文姓氏排序详解 #### 一、引言 在处理中文数据时,我们经常需要对含有中文姓名的数据进行排序。Java 提供了多种方式进行排序,包括使用 `Collections.sort()` 方法配合自定义比较器(`Comparator`)。...
本篇将详细讲解如何使用Java实现快速排序。 首先,理解快速排序的步骤至关重要。快速排序的主要步骤包括: 1. **选择枢轴元素(Pivot Selection)**:在待排序的数组中选取一个元素作为枢轴,通常选择第一个或最后...
本文将介绍两种常见的排序算法:直接插入排序和希尔排序,并通过Java代码实现来帮助理解。 1. 直接插入排序(直接插入排序) 直接插入排序是一种简单的排序方法,它的工作原理类似于我们平时手动整理扑克牌。在排序...
在Java编程语言中,对包含中文、数字和字母的数据进行排序是一项常见的任务。这个场景下,我们关注的是如何实现一个自定义的排序规则,按照数字、字母和汉字的顺序进行排列。以下是对这一主题的详细解释。 首先,...
下面我们将深入探讨如何在Java中实现集合的分组与排序。 1. **集合分组**: 集合分组通常涉及到`GroupingBy`操作,这在Java 8引入的流(Stream)API中得到了很好的支持。`Collectors.groupingBy`方法允许我们将...
通过以上介绍,我们可以看出Java Stream API提供了灵活且高效的方式来处理日期排序。无论是在简单的日期列表还是复杂的数据结构中,都可以轻松地实现排序功能。实践过程中,可以根据实际需求选择合适的日期类型和...
这个"关于中文英文混合排序javaDemo"的示例主要展示了如何实现这样的功能。让我们深入探讨一下这个话题。 首先,我们要明白在Java中,默认的字符串排序是基于Unicode编码的,这可能会导致中文字符与英文字符混合...
在Java编程环境中,我们也可以模拟实现这种排序规则。Java提供了丰富的类库和方法来处理文件操作,包括对文件的排序。以下是关于如何在Java中实现Windows文件排序规则的详细解释: 1. **文件对象的创建**: 在Java...
Java 八大排序是 Java 语言中八种常用的排序算法,分别是直接插入排序、希尔排序、简单选择排序、冒泡排序、快速排序、归并排序、堆排序和 Radix 排序。下面是对每种排序算法的详细介绍: 1. 直接插入排序 基本...
在Java编程语言中,数组排序是一项基础且重要的任务。它涉及到不同的算法,这些算法通过比较和交换元素来达到数组元素的有序状态。本篇将详细探讨几种常见的排序算法及其在Java中的实现。 首先,让我们从最简单的...
在Java编程语言中,有多种排序算法可供使用。这里我们将探讨三种基本的排序算法:冒泡排序、选择排序和插入排序。这些算法都是基于数组的简单排序方法,适合理解排序的基本原理。 首先,我们来看冒泡排序。冒泡排序...
根据提供的文件信息,我们可以归纳出以下关于Java排序的相关知识点: ### 一、文件基本信息 - **文件名**:`java排序.txt` - **文件描述**:该文本文件主要介绍了几种常用的Java排序算法,并通过示例代码展示了...
在Java编程中,排序是常见的数据处理操作,特别是在处理集合数据结构时,如List。本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和...
java中数组的自定义排序,种类繁多,简单实现,可自由操控。
在Java编程语言中,对字符串中的字符进行a到z排序是一项常见的操作,特别是在处理文本数据或需要对字母顺序排列的场景。本知识点将详细讲解如何实现这个功能。 首先,我们需要理解字符串在Java中的本质。在Java中,...
本文将深入探讨标题"常用排序算法java演示"中涉及的知识点,包括排序算法的原理、Java实现方式以及其在实际应用中的图形演示。 首先,让我们逐一了解几种常见的排序算法: 1. **冒泡排序(Bubble Sort)**:这是一...