我写了一个排序程序,看起来像插入排序,但实际上不是,所以我的问题是这是哪种算法
#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;
}
答案 0 :(得分:1)
一种排序算法,该算法迭代比较两个连续的元素,并且-如果它们的顺序不正确-交换它们的位置称为气泡排序。 气泡排序这个名称描述了一个事实,即在执行过程中,较大的元素通过像气泡一样定位数组来“缓慢地”爬上位置。
您的算法-在两个嵌套循环的内部之一中-这个比较/交换习语。