c - 这是哪个排序
问题描述
我写了一个排序程序,看起来像插入排序,但实际上不是,所以我的问题是这是哪个算法
#include<stdio.h>
int main()
{
int n=5,i=0,a[5],j=0,temp=0;
printf("Enter 5 elements \n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
{
for(j=0;j<i+1;j++)
{
if(a[i+1]<a[j])
{
temp=a[i+1];
a[i+1]=a[j];
a[j]=temp;
}
}
}
printf("\nThe Sorted Array is ");
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
解决方案
迭代地比较两个连续元素并且——如果它们的顺序不正确——交换它们的位置的排序算法称为冒泡排序。冒泡排序这个名称描述了这样一个事实,即在执行过程中,较大的元素会像气泡一样逐个位置“缓慢地”向上爬升。
您的算法 - 在两个嵌套循环的内部之一中 - 这个比较/交换习语。
推荐阅读
- ios - 在 CI 构建中使用 Facebook iOS SDK - 未找到框架
- django - 通用外键字段上的搜索字段
- angular - ModuleWithProviders / forRoot - 使用泛型作为提供者的类型参数
- wcf - WCF SOAP 服务中的 POST 方法
- c# - 如何从 Model MVC 中的数据中绘制图表?
- html - 希望在 HTML 中创建一个调查,其中每个答案都是一个将您链接到等效问题的按钮
- excel - 检查工作表中是否存在列,如果存在则将数据复制到另一个工作表
- angular - Angular 7 和 Flex 布局 7.0.0-beta.24
- python - Python:这是我的控制台设置中的问题吗?
- virtualbox - 如何将 virtualbox(NFV 基础架构)与开源 MANO(OSM)和 openstack 虚拟基础架构管理器(VIM)集成