Java实现的八种排序算法.pdf
文本预览下载声明
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.
显示全部