首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

冒泡排序解决方法

2013-01-23 
冒泡排序谁会冒泡排序啊?求教!说简单点,最好带几个列子。谢谢![解决办法]冒泡排序的思想:假设有N个数据需要

冒泡排序
谁会冒泡排序啊?求教!说简单点,最好带几个列子。谢谢!
[解决办法]
冒泡排序的思想:
假设有N个数据需要排序,则从第0个数开始,依次比较第0和第1个数据,如果第0个大于第1个则两者交换,否则什么动作都不做,继续比较第1个第2个…,这样依次类推,直至所有数据都“冒泡”到数据顶上。
代码:
算法代码:
public class Bubble 
{
   /**
    * 假设有n个数据需要排序,则从第0个数开始,
    * 依次比较第0和第1个数据,如果第0个大于第1个则两者交换,
    * 否则什么动作都不做,继续比较第1个第2个…,这样依次类推,
    * 直至所有数据都"冒泡"到数据顶上。
    * @param a
    * @return
    */
   public int[] bubbleSort(int[] a)
   {
  int in;
  int out;
  for(out = a.length - 1; out > 1; out--)
  {
  for(in = 0; in < out; in++)
  {
  if(a[in] > a[in + 1])
  {
  swap(a, in, in+1);
  }
  }
  }
  return a;   
   }
   
   public int[] swap(int[] a,int n,int m)
   {
   int s = a[n];
   a[n] = a[m];
   a[m] = s;
   return a;
   }
}

测试代码
public class BubbleTest 
{
   public static void main(String[] args) 
   {
   int[] a = {10,1,9,4,30,3,7,5,2,6};
   Bubble bubble = new Bubble();
   bubble.bubbleSort(a);
   for(int i = 0; i < a.length; i++)
   {
   System.out.println(i + 1 + ":" + a[i]);
   }
   }
}
第一次回复,献丑了,希望可以帮到LZ
[解决办法]

public class bubbleSort {
     public bubbleSort() {
            int a[] = { 49, 38, 65, 97, 76, 13, 27, 49, 78, 34, 12, 64, 5, 4, 62,
                     99, 98, 54, 56, 17, 18, 23, 34, 15, 35, 25, 53, 51 };
            int temp = 0;
            for ( int i = 0; i < a. length - 1; i++) {
                 for ( int j = 0; j < a. length - 1 - i; j++) {
                      if (a[j] > a[j + 1]) {
                           temp = a[j];


                           a[j] = a[j + 1];
                           a[j + 1] = temp;
                     }
                }
           }
            for ( int i = 0; i < a. length; i++)
                System. out.println(a[i]);
     }
}



热点排行