A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

冒泡排序:总是在比较相邻的两个元素。简单的理解数字就像是气泡,体积大的气泡下沉,体积小的气泡上升(从小到大排序),实现数字的排序,用到循环嵌套。
例如,一列随机数字(无序),要求按照从小到大排列。
思路:1.定义数组存放参加比较的随机数字;
2,利用循环嵌套,进行比较;
3,输出比价结果。
代码实现:
  • class  BubbleSort
  • {
  • public static void main(String[] args)
  •         {
  •                 int[] arr = {2,3,6,34,14,21,15};
  • //排序前
  •                 printArray(arr);
  • //冒泡排序
  •                 bubble(arr);
  • //排序后
  •                 printArray(arr);
  •         }
  •         public static void bubble(int[] arr)
  •         {
  •                 for (int x=0;x<arr.length-1 ;x++ )
  •                 {
  •                         for(int y =0 ;y<arr.length-x-1 ;y++ )//-x:让每一次比较的元素减少;-1是避免角标月越界
  •                         {
  •                                 if (arr[y]>arr[y+1])
  •                                 {
  •                                         int temp = arr[y];
  •                                         arr[y] = arr[y+1];
  •                                         arr[y+1] = temp;
  •                                 }
  •                         }
  •                 }
  •         }
  •         public static void printArray(int[] arr)
  •         {
  •                 System.out.print("[");
  •                 for (int i=0;i<arr.length ;i++ )
  •                 {
  •                         if(i!=arr.length-1)
  •                                 System.out.print(arr+",");
  •                         else
  •                                 System.out.print(arr+"]");
  •                 }
  •         }
  • }

2 个回复

倒序浏览
你想说明什么问题
回复 使用道具 举报
感谢分享,加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马