`
haoran_10
  • 浏览: 444215 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java排序算法完整版

    博客分类:
  • java
阅读更多

调用java类排序有三种情况:(这里都以int排序)

<1>:直接对数组排序:

 

import java.util.Arrays;

public class SortArray {

	public static void main(String[] args) {
		int []arr1 = {1,9,6,2,7,5,4,8,3};
		int []arr2 = {1,9,6,2,7,5,4,8,3};
		sort(arr1);
		sort(arr2,0,5);
	}
	
	//按升序对数组中的[fromIndex,toIndex)进行排序(即从fromIndex--(toIndex-1)的数据)
	public static void sort(int[] arr,int fromIndex,int toIndex){
		Arrays.sort(arr, fromIndex, toIndex);
		System.out.println("Arrays.sort(arr, 0, 5):");
		for(int i=0;i<arr.length;i++){
			System.out.print(arr[i]+" ");
		}
		System.out.println();
	}
	
	//按升序对数组全部数据排序
	public static void sort(int[] arr){
		Arrays.sort(arr);
		System.out.println("Arrays.sort(arr):");
		for(int i=0;i<arr.length;i++){
			System.out.print(arr[i]+" ");
		}
		System.out.println();
	}

}

 

 

<2>:对List进行排序  本身实现Comparable接口

 

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class CollectionsOfSort {
	public static void main(String[] args) {
		List<Stu> list = new ArrayList<Stu>();
		list.add(new Stu(1));
		list.add(new Stu(9));
		list.add(new Stu(6));
		list.add(new Stu(2));
		list.add(new Stu(7));

		sort(list);

	}

	public static void sort(List<Stu> list) {
		Collections.sort(list);
		for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i).id + " ");
		}
	}
}

class Stu implements Comparable<Stu> {
	Integer id;

	public Stu(int id) {
		this.id = id;
	}

	@Override
	public int compareTo(Stu stu) {
		return this.id.compareTo(stu.id);
		// return stu.id.compareTo(this.id);//降序排列
	}
}

 

 

<3>:对List进行排序  另写程序实现Comparator 接口

 

 

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class CollectionsOfSort {
	public static void main(String[] args) {
		List<Person> listPerson =new ArrayList<Person>();
		listPerson.add(new Person(1));
		listPerson.add(new Person(9));
		listPerson.add(new Person(6));
		listPerson.add(new Person(2));
		listPerson.add(new Person(7));
		sort(listPerson, new SortPerson());

	}

	public static void sort(List<Person> list, Comparator<Person> c) {
		Collections.sort(list, c);
		for (int i = 0; i < list.size(); i++) {
			System.out.print(list.get(i).age + " ");
		}
	}

}

class SortPerson implements Comparator<Person> {
	@Override
	public int compare(Person p1, Person p2) {
		return p1.age.compareTo(p2.age);
		// return p2.age.compareTo(p2.age);//降序
	}

}

class Person {
	public Person(int age) {
		this.age = age;
	}

	Integer age;
}
分享到:
评论

相关推荐

    Java排序算法代码

    根据提供的文件信息,我们可以总结出以下几个关键的排序算法知识点: ### 1. 插入排序 (Insertion Sort) 插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后...

    java八大排序算法

    【Java八大排序算法详解】 排序算法是计算机科学中基础且重要的算法之一,它们在处理大量数据时起到关键作用。在Java编程中,了解并掌握不同的排序算法有助于优化代码性能,提高程序效率。以下是对Java八大排序算法...

    Java各种排序算法

    ### Java中的常用排序算法 #### 一、概述 在计算机科学中,排序算法是一类非常重要的算法,用于将一组无序的数据按照特定的顺序排列。Java作为一种广泛应用的编程语言,支持多种内置排序方法以及允许开发者自定义...

    算法 第4版-谢路云 译 Java描述 -完整版.pdf

    3. **排序与搜索**:排序算法包括插入排序、选择排序、交换排序(快速排序、归并排序)、堆排序、计数排序、桶排序、基数排序等,以及更高级的排序技巧如Timsort。搜索算法则有顺序搜索、二分搜索、哈希搜索等。这些...

    七种排序算法Java版

    七种排序算法Java版 以下是对七种排序算法Java版的详细解释: 1. 冒泡排序 冒泡排序是一种简单的排序算法,时间复杂度为O(n2),算法具有稳定性。冒泡排序的基本思想是:通过对数组的多次遍历,逐渐将最大(或最小...

    java排序算法经典安列和

    【Java排序算法经典案例分析】 在Java编程中,排序算法是数据处理的重要组成部分,它用于组织数组或列表中的元素,使其按照特定顺序排列。这里我们将深入探讨几种经典的Java排序算法,包括插入排序、冒泡排序、选择...

    黑马程序员java面试宝典 完整版PDF.rar

    这本书的完整版PDF提供了丰富的学习材料,帮助求职者提升自己的技术水平,应对各种Java编程职位的面试挑战。 在Java面试中,以下是一些重要的知识点: 1. **基础语法**:这是Java学习的起点,包括变量、数据类型、...

    各种排序代码的JAVA实现

    本文将深入探讨在JAVA中实现的各种排序算法,包括堆排序、归并排序、快速排序、基数排序、选择排序、冒泡排序、插入排序、希尔排序、计数排序和桶排序。 1. **堆排序**:堆排序是一种基于比较的排序算法,它利用了...

    算法 第4版-谢路云 译(Java描述) 完整版.part4

    《算法(英文版•第4版)》作为算法领域经典的参考书,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码...

    各种排序算法java实现

    本资源"各种排序算法java实现"聚焦于将这些算法用Java代码来具体展示,对于学习和理解算法有着极大的帮助。 在Java中,我们通常会接触到以下几种经典的排序算法: 1. **冒泡排序**(Bubble Sort):通过不断交换...

    java各种排序算法

    希尔排序首先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,具体采用的分割方法是:将相隔某个增量h的所有记录划分一组,对每组使用直接插入排序算法排序;随着增量h逐渐减少,每一趟排序的数据量...

    lz4压缩算法java实现-LZ4-极快的压缩算法,排序算法数据结构 最快的排序算法

    LZ4压缩算法java实现 LZ4压缩算法是lossless压缩算法,提供了高达500 MB/s每个核心的压缩速度,且可以根据多核CPU进行扩展。它具有极快的解压速度,速度可达多GB/s每个核心,通常达到多核系统中的RAM速度限制。速度...

    算法 第4版-谢路云 译(Java描述)-完整版

    根据提供的文件信息,“算法 第4版-谢路云 译(Java描述)-完整版”,我们可以推测这是一本关于计算机算法的书籍,其中包含了多种算法的Java实现。下面将基于这个基本信息来展开相关的知识点。 ### 一、算法基础 ###...

    快速排序示例代码(JAVA版)

    在这个示例中,`QuickSort.java`文件可能包含了完整的快速排序算法实现。代码会提供清晰的注释,帮助理解每个部分的功能和作用。你可以通过学习这段代码来加深对快速排序算法的理解,并能将其应用到自己的项目中。...

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 数据结构_排序算法(共144页).rar

    这份“Java SE完整版精品优质课件”是针对初学者设计的一份全面的Java基础知识培训教案,涵盖了从入门到深入的各个主题,特别是数据结构和排序算法,这是计算机科学中的重要概念,对于任何Java开发者来说都至关重要...

    高效排序算法:快速排序Java与Python实现详解

    内容概要:文章详述了快速排序...帮助学生或开发者加深对分治法的理解,提高对排序算法的应用能力。 其他说明:代码样例提供了快速排序的完整流程,包括主函数、排序函数、分区函数等,方便读者对照学习并动手实践。

    数据结构 算法与应用 java语言描述 答案 完整版

    2. 算法:算法是解决问题的步骤或方法,如排序算法(冒泡排序、快速排序、归并排序)、查找算法(线性搜索、二分查找)和图算法(Dijkstra最短路径算法、Floyd-Warshall所有对最短路径算法)。Java中,我们可以利用...

    java常见排序.swf文件

    在IT领域,排序算法是计算机科学中的核心概念,特别是在编程语言如Java中。这些算法用于组织数据,使得数据按照特定顺序排列,例如升序或降序。以下是对压缩包文件中涉及的几种排序算法的详细解释: 1. **堆排序**...

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 数据结构_排序算法(共144页).pptx

    排序算法在数据结构部分占据重要地位,包括冒泡排序、选择排序、插入排序、快速排序、归并排序等多种算法。理解这些排序算法不仅有助于优化代码性能,也是算法面试中的常见题目。 总之,这个Java SE的课程全面覆盖...

    (完整版)数据结构与算法分析_Java语言描述(第3版)课后习题完整源码.zip

    例如,排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等,每种排序算法在不同的数据输入情况下表现不同。理解这些算法的工作原理,能够帮助我们编写出更高效、更适合实际问题的代码。 在Java语言描述...

Global site tag (gtag.js) - Google Analytics