asp.Netバブルアルゴリズムの理解

2014 ワード

 
  
/* ? ? ?
* , ?
* , , ......
* */
using System;
namespace Sort
{
public class Sort
  {
   //  
   // ? , ,
   public void BubbleSort(int[] a)
{
    // , , C ?
int tmp;
for (int i = 0; i < a.Length - 1; i++)
{
int idx = i; // ?
for (int j = idx + 1; j < a.Length; j++)
if (a[idx] < a[j])
idx = j; //
      //
tmp = a[i];
a[i] = a[idx];
a[idx] = tmp;
}
}
   
   //  
   // ,   
   public void BubbleSort(int[] a)
{
    // , , C ?
int tmp;
for (int i = 0; i < a.Length - 1; i++)
{
//int idx = i; ?
      // ?
for (int j = i+1; j < a.Length; j++)
{
       // , , , ?
if (a[i] < a[j])
{
tmp = a[j];
a[j] = a[i];
a[i] = tmp;
}
}
  }
   }
   // ,
   // ,  
   public void BubbleSort(int[] a)
{
    //
bubble(a, 0, a.Length);
}
void bubble(int[] a, int start, int end)
{
    // :
if (start >= end)
{
return;
}
int tmp;
    //
for (int i = start; i < end-1; i++)
{
if (a[start] < a[i + 1])
{
tmp = a[start];
a[start] = a[i + 1];
a[i + 1] = tmp;
}
}
    //
bubble(a, start+1, end);
}
 }
}