110,533
社区成员
发帖
与我相关
我的任务
分享
int [] a={6,2,2,1,5}
//冒泡排序(稳定)
public static void BubbleSort(int[] a, ref int count)
{
int n = a.Length - 1;
int i, j;
int tmp;
bool isChange;
for (i = 0; i < n; i++)
{
isChange = false;
for (j = 0; j < n - i; j++)
{
if (a[j] > a[j + 1])//若果条件改成a[j]>=a[j+1] 就算相邻的两个数相等位置也会发生变化
{
tmp = a[j];
a[j] = a[j + 1];
a[j + 1] = tmp;
isChange = true;
}
count++;
}
if (!isChange)
{
return;
}
}
return;
}
//直接选择排序(不稳定)
public void Dir_Choose(int[] A, int n)
{
int k, t;
for (int i = 0; i < n - 1; i++)
{
k = i;
for (int j = i + 1; j < n; j++)
{
if (A[j] < A[k]) k = j;
}
if (k != i)
{
t = A[i];
A[i] = A[k];
A[k] = t;
}
}
}