C语言 冒泡排序 选择排序
冒泡排序
冒泡排序的精髓在于两两比较。
//从小到大排序
int main()
{
int a[5] = {6, 4, 9, 23, 5}, temp;
for(int i = 0; i < 4; i++)
{
for(int j = 0; j < 4 - i; j++)
{
if (a[j] > a[j + 1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for(int k = 0; k < 5; k++)
{
printf("%d ", a[k]);
}
return 0;
}
选择排序
选择排序的精髓在于固定一个数,在此数后依次进行比较。
//从小到大排序
int main()
{
int a[5] = {4, 7, 2, 6, 1};
int i, j, min, temp;
for(i = 0; i < 4; i++)
{
min = i;
for(j = i + 1; j < 5; j++)
{
if (a[j] < a[min])
{
min = j;
}
}
if (min != i)
{
temp = a[min];
a[min] = a[i];
a[i] = temp;
}
}
for(int k = 0; k < 5; k++)
{
printf("%d ", a[k]);
}
return 0;
}
冒泡排序,选择排序无处不在,而且计算机相关专业的同学注意了,期末必考。
对于选择排序,大家多思考,有什么想法可以在群里探讨,有没有什么不懂得地方,尤其是学过的童鞋更爱出错,没学过的学这个就不要忘记。
所以大家最好还是加我的qq2033693537。