Advertisement
Guest User

Untitled

a guest
Dec 18th, 2014
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.lang.Double;
  3.  
  4. public class TestInsertionSort {
  5. int [] array;
  6.  
  7. public TestInsertionSort() {
  8. // TODO Auto-generated constructor stub
  9. System.out.println("清输入要排序的个数: ");
  10. Scanner sc = new Scanner(System.in);
  11. int number = sc.nextInt();
  12. array = new int [number];
  13. System.out.println("请输入要排序的数:");
  14. for(int i = 0; i < number; i++) {
  15. array[i] = sc.nextInt();
  16. }
  17. sc.close();
  18. }
  19. //插入排序
  20. public void InsertionSort() {
  21. for(int j = 1; j < array.length; j++) {
  22. int key = array[j];
  23. int i = j - 1;
  24. while(i > 0 && key < array[i]) {
  25. array[i+1] = array[i];
  26. i--;
  27. }
  28. array[i+1] = key;
  29. }
  30. }
  31.  
  32. //归并排序
  33. public void MergeSort(int [] arry, int start, int end) {
  34. if(start < end) {
  35. int temp = (start + end) / 2;
  36. MergeSort(arry, start, temp);
  37. MergeSort(arry, temp + 1, end);
  38. Merge(arry, start, temp, end);
  39. }
  40. }
  41.  
  42. public void Merge(int [] arry, int start, int temp, int end) {
  43. int [] a = new int [temp - start + 2];
  44. int [] b = new int [end - temp + 1];
  45. for(int i = 0; i< a.length - 1; i++) {
  46. a[i] = arry[start + i];
  47. }
  48. for(int i = 0; i < b.length - 1; i++) {
  49. b[i] = arry [temp + 1 + i];
  50. }
  51. a[temp - start + 1] = (int) Double.NEGATIVE_INFINITY;
  52. b[end - temp] = (int) Double.NEGATIVE_INFINITY;
  53. int i = 0;
  54. int j = 0;
  55. for(temp = start; temp <= end; temp++) {
  56. if(a[i] < b[j]) {
  57. arry[temp] = a[i];
  58. i++;
  59. }
  60. else {
  61. arry[temp] = b[j];
  62. j++;
  63. }
  64. }
  65.  
  66. }
  67.  
  68. //冒泡排序
  69. public void BubbleSort(int [] arry) {
  70. for(int i = 1; i < arry.length; i++) {
  71. for(int j = i - 1; j > 0; j--) {
  72. if(arry[j] < arry[j - 1])
  73. arry[j - 1] = arry[j];
  74. }
  75. }
  76. }
  77.  
  78. public void print() {
  79. System.out.println("输出排序好的数据: ");
  80. for(int i = 0; i < array.length; i++) {
  81. System.out.println(array[i] + " ");
  82. }
  83. }
  84. public static void main(String[] args) {
  85. TestInsertionSort sort = new TestInsertionSort();
  86. //sort.MergeSort(sort.array, 0, sort.array.length);
  87. sort.InsertionSort();
  88. sort.print();
  89. }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement