几个简单的排序算法

  
    
// 冒泡排序
public static void PopSort( int [] arry)
{
for ( int i = 0 ; i < arry.Length - 1 ; i ++ )
{
for ( int j = i; j < arry.Length - 1 ; j ++ )
{
if (arry[i] > arry[j + 1 ])
{
int temp = 0 ;
temp
= arry[i]; arry[i] = arry[j + 1 ]; arry[j + 1 ] = temp;
}
}
}
}
// 选择排序
public static void SelectSort( int [] arry)
{
int temp = 0 , min = 0 ; // min 存放最小值下标,arry[min]为最小值
for ( int i = 0 ; i < arry.Length;i ++ )
{
min
= i; // 初始最小值为整数arry[i]
// 遍历数组,找出最小值的位置,并赋值给min
for ( int j = i + 1 ; j < arry.Length;j ++ )
{
if (arry[j] < arry[min])
{
min
= j;
}
}
// 把最小值arry[min] 移动到初始最小值位置arry[i]
temp = arry[i];
arry[i]
= arry[min];
arry[min]
= temp;
}
}
// 插入排序
public static void InsertSort( int [] arry)
{
int min = 0 , temp = 0 ;
for ( int i = 0 ; i < arry.Length;i ++ )
{
temp
= arry[i];
min
= i;
while (min > 0 && arry[min - 1 ] > temp)
{
arry[min]
= arry[min - 1 ];
min
-- ;
}
arry[min]
= temp;
}
}

你可能感兴趣的:(排序算法)