C语言冒泡排序将一个数组按照从小到大进行排序
程序员文章站
2022-04-04 11:05:35
...
例如 int a[10] = {0,5,2,3,6,9,8,7,4,1}
对其10个整数由小到大进行排序
思想:冒泡排序
实现一:
#include<stdio.h>
int main()
{
int i = 0;
int a[10] = {0,5,2,3,6,9,8,7,4,1};
int j = 0;
int tmp = 0;
int m = sizeof(a) / sizeof(a[0]); //s数组大小
for (i=0; i<m-1; i++) //比较m-1次
{
for (j = 0; j < m-i-1; j++) // 最后一次比较a[m-i-1]与a[m-i-2]
{
if (a[j]>a[j+1]) //如果a[j]比a[j+1]大则交换内容
{
tmp = a[j+1];
a[j+1] = a[j];
a[j] = tmp;
}
}
}
for (i=0; i < m; i++)
{
printf(" %d ", a[i]); //打印
}
printf(" \n ");
return 0;
}
实现二:
自定义sort函数
#include<stdio.h>
void sort(int a[], int m)
{
int i = 0;
int j = 0;
int tmp = 0;
for (i = 0; i<m - 1; i++)
{
for (j = 0; j < m - i - 1; j++)
{
if (a[j]>a[j + 1])
{
tmp = a[j + 1];
a[j + 1] = a[j];
a[j] = tmp;
}
}
}
}
int main()
{
int i = 0;
int a[10] = {0,5,2,3,6,9,8,7,4,1};
int m = sizeof(a) / sizeof(a[0]);
sort(a, m);
for (i=0; i < m; i++)
{
printf(" %d ", a[i]);
}
printf(" \n ");
return 0;
}
上一篇: 汇编语言:使用冒泡排序算法将10个数按从小到大顺序排列
下一篇: 普洱茶第一泡,教你正确的喝普洱茶