C语言:冒泡排序---详细解释
//冒泡排序数字,仅仅适用于数组无序的时候,若有序则不能使用冒号排序
例如:
数字组:5,54,64,98,47
/*
1: 54,64,98,47,5 4次
2: 64,98,54,47,5 3次
3: 98,64,54,47,5 2次
4: 98,64,54,47,5 1次
*/
//规律:比较轮数 = N - 1
//每轮比较次数 = N - i - 1
代码如下:
#include <stdio.h>
#define N 5
int main()
{
int num[N]={87,4,45,3,96} ;
int i, j;//外层为i,内层为j。
int temp;//临时存储变量
//外层控制轮数
for(i = 0; i < i; i++)
{
//内层控制每轮比较次数
for(j = 0; j < i; j++)
{
if(num[j] > num[j + 1])
//注意!!!!!把 <号 改成 >号 就变成了升序排序 ~
{
temp = num[j];
num[j] = num[j + 1];
num[j + 1] = temp;
}
}
}
printf("排序后的结果为:\n");
for(i = 0; i < N; i++)
{
printf("%d\t", num[i]);
}
return 0;
}
运行结果如下:
本文来自博客园,作者:竹等寒,转载请注明原文链接。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具