【Java】数组中常用的几种排序方法

浅浅的花香味﹌ 2021-09-16 04:08 529阅读 0赞

本文主要介绍数组中常用的几种排序方法,代码如下:

  1. package com.xzw.csdn;
  2. import java.util.Arrays;
  3. /**
  4. * 数组常用的几种排序
  5. * @author xzw
  6. *
  7. */
  8. public class PaiXu {
  9. /**
  10. * 主函数
  11. * @param args
  12. */
  13. public static void main(String[] args) {
  14. int[] array = {12,25,3,56,89};
  15. //将数组里面的元素升序排序1(冒泡排序)
  16. px1(array);
  17. //将数组里面的元素升序排序2(冒泡排序)
  18. px2(array);
  19. //将数组里面的元素升序排序3(冒泡排序)
  20. px3(array);
  21. //选择排序
  22. px4(array);
  23. }
  24. /**
  25. * 将数组里面的元素升序排序1(冒泡排序)
  26. * @param array
  27. */
  28. public static void px1(int[] array){
  29. int i;
  30. System.out.print("从小到大排序为: ");
  31. for (i = 0; i <= 4; i++){
  32. for (int j = 1; j < array.length; j++){
  33. if ( array[j-1] > array[j]){
  34. array[j-1] ^= array[j];
  35. array[j] ^= array[j-1];
  36. array[j-1] ^= array[j];
  37. }
  38. }
  39. }
  40. for (i = 0; i <= 4; i++)
  41. System.out.print(array[i]+" ");
  42. System.out.println();
  43. }
  44. /**
  45. * 将数组里面的元素升序排序2(冒泡排序)
  46. * @param array
  47. */
  48. public static void px2(int[] array){
  49. int i, t = 0;
  50. System.out.print("从小到大排序为: ");
  51. for (i = 4; i >= 0; i--){
  52. for (int j = 1; j < array.length; j++){
  53. if ( array[j-1] < array[j]){
  54. t = array[j-1];
  55. array[j-1] = array[j];
  56. array[j] = t;
  57. }
  58. }
  59. System.out.print(array[i]+" ");
  60. }
  61. System.out.println();
  62. }
  63. /**
  64. * 将数组里面的元素升序排序3(冒泡排序)
  65. * @param array
  66. */
  67. public static void px3(int[] array){
  68. for (int i = 0; i < array.length-1; i++) {//比较次数
  69. for (int j = 0; j < array.length-(i+1); j++) {//比较方法
  70. if(array[j] > array[j+1]){
  71. array[j] ^= array[j+1];
  72. array[j+1] ^= array[j];
  73. array[j] ^= array[j+1];
  74. }
  75. }
  76. }
  77. //遍历
  78. System.out.print("[");
  79. for (int i = 0; i < array.length; i++) {
  80. if (i == array.length-1){
  81. System.out.print(array[i]);
  82. }else{
  83. System.out.print(array[i]+",");
  84. }
  85. }
  86. System.out.println("]");
  87. //System.out.println("最终结果:"+Arrays.toString(array));
  88. }
  89. /**
  90. * 选择排序
  91. * @param array
  92. */
  93. public static void px4(int[] array){
  94. for (int i = 0; i < array.length-1; i++) {
  95. for (int j = i+1; j < array.length; j++) {
  96. //array[i] vs array[j]
  97. if (array[i] > array[j]){
  98. array[i] ^= array[j];
  99. array[j] ^= array[i];
  100. array[i] ^= array[j];
  101. }
  102. }
  103. System.out.println("第"+(i+1)+"次结果:"+Arrays.toString(array));
  104. }
  105. System.out.println("最终结果:"+Arrays.toString(array));
  106. }
  107. }

你们在此过程中遇到了什么问题,欢迎留言,让我看看你们都遇到了哪些问题。

发表评论

表情:
评论列表 (有 0 条评论,529人围观)

还没有评论,来说两句吧...

相关阅读

    相关 数组常用方法

    这里新创建了一个专题,为自己之后的跳槽做准备,每天给自己一个小时的时间去看网上的一些面试题,并且将这些面试题的答案加上自己思考以及动手时间的内容整理成笔记,记录下来。 尤其

    相关 实现数组排序方法

    冒泡排序 这里先介绍一下冒泡排序。 1. 其原理就是相邻的两个元素进行比较,如果第一个元素大于第二个元素,则交换这两个元素的位置。如此两两比较然后交换,一轮下来,最大的元