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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 淡忘初学者 中级黑马   /  2015-8-24 22:52  /  565 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 淡忘初学者 于 2015-8-25 17:37 编辑

以下内容基于张孝祥老师视频课程笔记:
          在帖子里面看到有人对于数组排序操作不是十分了解,正巧我回看笔记看到了这里,所以又发一帖啦~~希望能帮助到大家,一起进行回顾(程序都是我刚写的哦!)。
  1. import java.util.Arrays;

  2. public class ArrayDemo {
  3.         public static void main(String[] args) {
  4.                 int[] arr=new int[]{12,31,53,11,7,101};
  5.                 //调用java提供的方法由小到大排序:
  6.                 Arrays.sort(arr);
  7.                 print(arr);
  8.                 //调用自定义的选择排序方法:
  9.                 selectSort(arr);
  10.                 print(arr);
  11.                 //调用自定义的冒泡排序方法:
  12.                 bubbleSort(arr);
  13.                 print(arr);
  14.         }
  15.         /*
  16.          * 定义选择排序:由大到小排(也可选择由小到大排)
  17.          * 从第一位开始比,每次比取出此轮最大值放在此轮首位
  18.          * 每次相比位数逐次递减(因为第一次排出的第一位肯定
  19.          * 是数组里的最大值,第二轮就不需要再比)
  20.          */
  21.         public static void selectSort(int[] arr){
  22.                 for(int x=0;x<arr.length-1;x++){//使用循环嵌套
  23.                         for(int y=x+1;y<arr.length;y++){
  24.                                 if(arr[x]<arr[y]){//每比一轮,便取出此轮最大值放在最前
  25.                                         int max=arr[y];
  26.                                         arr[y]=arr[x];
  27.                                         arr[x]=max;
  28.                                 }
  29.                         }        
  30.                 }
  31.         }
  32.         /*
  33.          *  定义冒泡排序:相邻两个元素之间比较,每比一轮,最大值出现在
  34.          *                         此轮的最后一位,每轮相比位数从高位向低位逐一递减   
  35.          *  就像冒泡泡一样,最大的泡泡浮力最大,总是最先出现在最上面,在这之后,泡泡鼓出的大小依次递减
  36.         */
  37.         public static void bubbleSort(int[] arr){
  38.                 for(int x=0;x<arr.length-1;x++){//总共比arr.length-1轮
  39.                         for(int y=0;y<arr.length-1-x;y++){//每轮相比位数逐次递减
  40.                                 if(arr[y]>arr[y+1]){//相邻两者之间比较
  41.                                         int min=arr[y+1];
  42.                                         arr[y+1]=arr[y];
  43.                                         arr[y]=min;
  44.                                 }
  45.                         }
  46.                 }
  47.         }
  48.         public static void print(int[] arr){//打印遍历数组
  49.                 System.out.print("遍历的数组为:[");
  50.                 for(int x=0;x<arr.length;x++){
  51.                         if(x<arr.length-1)
  52.                            System.out.print(arr[x]+",");
  53.                         else
  54.                                 System.out.println(arr[x]+"]");
  55.                 }
  56.         }
  57.         
  58. }
复制代码
运行结果:


后面我会发每章节回顾的程序,如果你们觉得有可看性的话就继续关注吧~~谢谢各位了。

评分

参与人数 1黑马币 +6 收起 理由
朱艳 + 6 赞一个!

查看全部评分

11 个回复

倒序浏览
注释写的很详细啊
回复 使用道具 举报
赞一个先!!
回复 使用道具 举报
赞一个先!!!!!
回复 使用道具 举报

谢谢~~你也加油
回复 使用道具 举报

谢谢~~你也加油
回复 使用道具 举报
a80C51 中级黑马 2015-8-30 09:23:28
7#
虽是同样功能,但不同人写出来的风格,就是不一样的。
三人行,必有我师焉!择其善者而从之。
以后多多指点一番哈。
回复 使用道具 举报
a80C51 发表于 2015-8-30 09:23
虽是同样功能,但不同人写出来的风格,就是不一样的。
三人行,必有我师焉!择其善者而从之。
以后多多指点 ...

您过誉了,向您多学习
回复 使用道具 举报
ksh 中级黑马 2015-8-30 10:55:56
9#
选择排序貌似有其他神功能,,,是最受欢迎的哦
回复 使用道具 举报
赞一个先
回复 使用道具 举报
积攒技术分的兄弟 都是伤不起的 啊加油吧
回复 使用道具 举报
挺好的 支持一下!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马