`
haoran_10
  • 浏览: 437228 次
  • 性别: 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;
}
分享到:
评论

相关推荐

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

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

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

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

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

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 特别适合新入门自学的新手同学,也适合老手回顾学习,巩固知识 第1章 Java语言概述 第2章 基本语法 第3章 面向对象编程 第4章 高级类特性1 第5...

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

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

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

     2、内容全面:全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法  3、全新修订的代码:全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用  4、与...

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

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

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

    全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法  全新修订的代码 全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用  与实际应用相结合 在...

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

    全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法  全新修订的代码 全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用  与实际应用相结合 在...

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

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

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

    《算法(第4版)》是Sedgewick之巨著,与高德纳TAOCP一脉相承,是算法领域经典的参考书,涵盖所有程序员必须掌握的50种算法,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行...

    算法 第4版 中文 谢路云 译 (Java描述) 完整版.part2

     2、内容全面:全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法  3、全新修订的代码:全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用  4、与...

    JAVA算法与数据结构 中文完整版

    本书介绍了计算机编程中使用的数据结构和算法,对于在计算机应用中如何操作和管理数据以取得最优性能提供了深入浅出的讲解。全书共分为15章,分别讲述了基本概念、数组、简单排序、堆和队列、链表、递归、进阶排序、...

    算法 第4版 中文 谢路云 译 (Java描述) 完整版.part1

     2、内容全面:全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法  3、全新修订的代码:全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用  4、与...

    算法 第4版 中文 谢路云 译 (Java描述) 完整版.part3

     2、内容全面:全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法  3、全新修订的代码:全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用  4、与...

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

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

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

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

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

    全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法 ? 全新修订的代码 全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用 ? 与实际应用相结合 在重要的...

    算法(第四版)中文版(Java描述)【完整版】Robert sedgewick.part2

    内容全面:全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法。全新修订的代码:全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用。与实际应用相结合:...

    算法(第四版)中文版(Java描述)【完整版】Robert sedgewick.part3

    内容全面:全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法。全新修订的代码:全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用。与实际应用相结合:...

    算法(第四版)中文版(Java描述)【完整版】Robert sedgewick.part1

    内容全面:全面论述排序、搜索、图处理和字符串处理的算法和数据结构,涵盖每位程序员应知应会的50种算法。全新修订的代码:全新的Java实现代码,采用模块化的编程风格,所有代码均可供读者使用。与实际应用相结合:...

Global site tag (gtag.js) - Google Analytics