تصویر زیر میتواند به شما در درک سریع تر و بهتر این الگوریتم کمک کند(تصویر متحرک است)

using System;

class Program{
static void Main(){
int[10] ary;
for (int i = 0;i<10;i++){
Console.Write("Enter elemnt #"+i.ToString()+": ");
ary[i] = (int)Console.ReadLine();
}
ary = sort(ary);
}
static void swap(ref int a,ref int b){
int tmp = a;
a = b;
b = tmp;
}
static int[] sort(int[] ary){
bool change = true;
while( change){
change = false;
for (int i=0;i<10;i++){
if (i!=9){
if (ary[i]>ary[i+1]){
swap(ref ary[i],ary[i+1]);
change = true;
}
}
}
}
return ary;
}
static void print(int[] ary){
foreach (int i in ary){
Console.Write(i.ToString() + ",");
}
}
}