十行代码搞定 "冒泡排序"

Java Code:
class Class1
{
 static void bubbleSort(int[] a)
 {
  for (int j = a.length - 1; j > 0; j--) // outer loop (backward)
   for (int i = 0; i < j; i++) // inner loop (forward)
    if (a[i] > a[i+1]) //Swap
    {
     a[i] = a[i] + a[i+1];
     a[i+1] = a[i] - a[i+1];
     a[i] = a[i] - a[i+1];
    }

 }
 public static void main(String[] args)
 {
  int[] a = new int[]{-1,-2,9,4,5,3,7,1,2,3,1,2,3,-3,2,-19};
  //int[] a = new int[]{9,8,7,6,5,4,3,2,1,0,11};
  bubbleSort(a);
  for (int i=0; i < a.length; i++)
  {
   System.out.println(a[i]);
  }
 }
}

C# Code:
class Class1
{
 static void BubbleSort(int[] a)
 {
  for (int j = a.Length - 1; j > 0; j--) // outer loop (backward)
   for (int i = 0; i < j; i++) // inner loop (forward)
    if (a[i] > a[i+1])
    {
     //a[i] = a[i] + a[i+1];
     //a[i+1] = a[i] - a[i+1];
     //a[i] = a[i] - a[i+1];
     Swap(ref a[i],ref a[i+1]);
    }
 }
 static void Swap(ref int x,ref int y)
 {
  x = x + y;
  y = x - y;
  x = x - y;
 }
 static void Main(string[] args)
 {
  int[] a = new int[]{-1,-2,9,4,5,3,7,1,2,3,1,2,3,-3,2,-19};
  //int[] a = new int[]{9,8,7,6,5,4,3,2,1,0,11};
  BubbleSort(a);
  for (int i=0; i < a.Length; i++)
  {
   System.Console.WriteLine(a[i]);
  }
  System.Console.ReadLine();
 }
}
posted @ 2004-10-24 17:25  于斯人也  阅读(301)  评论(0编辑  收藏  举报