黑马程序员技术交流社区

标题: 冒泡排序,求解答疑问! [打印本页]

作者: 迷茫不堪的年纪    时间: 2015-10-13 23:15
标题: 冒泡排序,求解答疑问!

class ArrayDemo
public  static void main(String[]args)
   {
   int[]arr={1,5,2,9,4};
   System.out.print("数组排序前:")
   }
    printAyyay(arr);                              //调用下面的  类? 还是 函数?还是方法?还是成员变量?
    bubbleSort(arr);
   System.out.print("数组排序后:")
   printAyyay(arr);


public static void  bubbleSort(int[]arr)   //定义的 类? 还是 函数? 还是方法?还是成员变量?
{
for(int x=0;x<arr.length-1;x++);      //x<arr.length-1      数组的最大角标
{
for(int y =0;y<arr.length-1-x;y++)        //y<arr.length-1-x 最大角标减掉x的角标值?   这个希望详解一下
     {  
   if(arr[y]>arr[y+1]){             //这是互换还好
    temp= arr[y];
   arr[y]=arr[y+1];
    arr[y+1]=temp;
       }
}

public static void   printArray(int[]arr)定义的 类? 还是 函数? 还是方法? 还是成员变量?
  {
System.out.print("[");
     {
for(int x=0;x<arr.length;x++)
      {
if(x!=arr.length-1)

     {
  System.out.print(arr[x]+",");
else
  System.out.print(arr[x]+"]");
        }
}




作者: zhp19821223    时间: 2015-10-14 00:21
函数也叫方法,你调用的和定义的都是方法。因为外层循环比完一次后最高位已经是最大值,不用再比较了。
作者: ash午夜阳光    时间: 2015-10-14 01:06
方法吧,也叫函数
作者: 迷茫不堪的年纪    时间: 2015-10-14 12:03
看来我的理解是没错的
作者: primeget    时间: 2015-10-14 13:24
本帖最后由 primeget 于 2015-10-14 13:28 编辑

class ArrayDemo
public  static void main(String[]args)
   {
   int[]arr={1,5,2,9,4};
   System.out.print("数组排序前:")
   }
    printAyyay(arr);                              //调用的是类中的静态方法,main方法中可以直接调用类中的静态方法,如果方法不是静态的只能创建对象后才能调用
    bubbleSort(arr);
   System.out.print("数组排序后:")
   printAyyay(arr);


public static void  bubbleSort(int[]arr)   //定义的类中的静态方法
{
for(int x=0;x<arr.length-1;x++);      //x<arr.length-1      循环所有的数组元素
{
for(int y =0;y<arr.length-1-x;y++)        //y<arr.length-1-x  外层循环每循环一次就会把最大的数移到最后面。如:第一次循环就会把数组的最大值放到数组的最后一位,这样第二次循环就只要比较到数组的倒数第二位,这个减x就是这个意思了
     {  
   if(arr[y]>arr[y+1]){             //这是互换还好,此处的互相就是把数组相临的两个数进行比较,大的就往后移
    temp= arr[y];
   arr[y]=arr[y+1];
    arr[y+1]=temp;
       }
}

public static void   printArray(int[]arr) 此处定义的是类的成员静态方法
  {
System.out.print("[");
     {
for(int x=0;x<arr.length;x++)
      {
if(x!=arr.length-1)

     {
  System.out.print(arr[x]+",");
else
  System.out.print(arr[x]+"]");
        }
}
作者: 迷茫不堪的年纪    时间: 2015-10-14 19:31
primeget 发表于 2015-10-14 13:24
class ArrayDemo
public  static void main(String[]args)
   {

也帮你回顾了下哈, 不过我也更确认了一下类中的静态方法。
作者: 迷茫不堪的年纪    时间: 2015-10-14 19:35
迷茫不堪的年纪 发表于 2015-10-14 19:31
也帮你回顾了下哈, 不过我也更确认了一下类中的静态方法。

对了,这是哪个类啊?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2