这是哪种排序

时间:2019-02-11 06:54:35

标签: c sorting

我写了一个排序程序,看起来像插入排序,但实际上不是,所以我的问题是这是哪种算法

#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;
}

1 个答案:

答案 0 :(得分:1)

一种排序算法,该算法迭代比较两个连续的元素,并且-如果它们的顺序不正确-交换它们的位置称为气泡排序。 气泡排序这个名称描述了一个事实,即在执行过程中,较大的元素通过像气泡一样定位数组来“缓慢地”爬上位置。

您的算法-在两个嵌套循环的内部之一中-这个比较/交换习语。