冒泡排序
//冒泡排序,其中n为数组的元素个数
while (n>=1)
{
for (i=0;i<n-1;i++)
{
if (a[i]>a[i+1])
{
h = a[i];
a[i] = a[i + 1];
a[i + 1] = h;//交换两个数
}
}
n--;
}
选择排序
//选择排序,其中n为数组元素个数
for (j=0;j<n-1;j++)
{
min = a[j];//每一次让第j个数作为最小值开始比较
pos = j;//初始最小数的位置
for (i=j+1;i<n;i++)
{
if (min>=a[i])
{
min = a[i];
pos = i;//记录最小的数的位置
}
}
h = a[j];
a[j] = a[pos];
a[pos] = h;//交换两个数
}
插入排序
//插入排序,每后一个数都与前一个数比较,看交不交换。
for (i = 0; i < sizeof(a) / sizeof(a[0])-1; i++)
{
for (j = i+1; j > 0; j--)
{
if (a[j] < a[j -1])
{
h = a[j];
a[j] = a[j -1];
a[j -1] = h;//交换两个数
}
}
}