文档详情

Java实现的八种排序算法.pdf

发布:2021-11-08约1.59万字共13页下载文档
文本预览下载声明
Java 实现的八种排序算法 1、冒泡排序 冒泡排序是一种交换排序, 它的基本思想是: 两两比较相邻记录的关键字, 如果反序则交换, 知 道没有反序的记录为止。 Java 代码: [java] view plaincopyprint? 1. import java.util.Random; 2. 3. public class BubbleSort { 4. 5. /** 6. * 改进的冒泡排序算法 7. * 通过标志位 flag 避免无谓的比较 8. */ 9. public static void bubbleSort( int[] data ){ 10. boolean flag = true; 11. for( int i = 0 ; i data.length flag; i++ ){ 12. flag = false; 13. for( int j = data.length - 1; j i; j-- ){ 14. if( data[j] data[j- 1] ){ 15. swap( data, j - 1, j ); 16. flag = true; 17. } 18. } 19. } 20. } 21. 22. /** 23. * 交换数组中的两个数 24. */ 25. public static void swap( int[] data, int index1, int index2 ){ 26. int temp = data[index1]; 27. data[index1] = data[index2]; 28. data[index2] = temp; 29. } 30. 31. } 2 、选择排序 时间复杂度为 O(n^2) ,但性能上优于冒泡排序。 选择排序法就是通过 n-i-1 次关键字的比较, 从 n-i-1 个关键字中选出关键字最小的记录, 并和第 i 个记录交换。 Java 代码: [java] view plaincopyprint? 1. import java.util.Random; 2. 3. public class SelectSort { 4.
显示全部
相似文档