目录
1.冒泡排序
2.主元排序
3.插入排序
对于初学者而言,掌握排序方法可以辅助解决多种问题。因此,我在这里罗列了三种排序方法,它们分别是冒泡排序,主元排序,插入排序。
1.冒泡排序
void maopao(int a[], int n)
{
int flag = 1;
while (flag)
{
flag = 0;
int i = 0;
for (; i < n - 1; i++)//从第一个到倒数第二个
{
if (a[i] > a[i + 1])//比较 直到满足排序结果要求
{
flag = 1;
int r = a[i];
a[i] = a[i + 1];
a[i + 1] = r;
}
}
}
}
2.主元排序
void zhuyuan(int a[], int n)
{
int i = 0;
for (; i < n - 1; i++)//从第一个到倒数第二个
{
int j = i + 1;
for (; j < n; j++)//所选下一个到最后一个
{
int r;
if (a[i]>a[j])//保证a[i]是本身与后面数据组成集合的最小值
{
r = a[i];
a[i] = a[j];
a[j] = r;
}
}
}
}
3.插入排序
void charu(int a[], int n)
{
int i = 1;
for (; i < n; i++)//从第二个到最后一个
{
int j = i - 1;
while (a[j] >= a[i] && j >= 0)
{
j--;
}
int x = j + 1;//找寻的插入位置
int y = a[i];
int v = i - 1;
for (; v >= x; v--)
{
a[v + 1] = a[v];//右移
}
a[x] = y;//调换值
}
}
总结,排序尽可能做到背下来,或者将排序方法熟记于心,在上机考试和平时测验中都有极其重要的应用。