用指针法编写一个程序,从键盘接收一组数据存放到数组中,用冒泡排序法升序排序

2025-05-22 13:01:17
推荐回答(1个)
回答(1):

#include 
#include 
void bubble(int *head, int *tail)
{
    int *start = head + 1;
    int *end = tail;
    int flag, temp;            
    while(end > (head + 1))    
    {
        flag = 0;
        start = head + 1;
        while(start <= end)
            {
                if(*(start-1) > *start)
                {
                    temp = *start;
                    *start = *(start-1);
                    *(start-1) = temp;
                    flag = 1;
                }
                start ++;
            }
        if(flag == 0)    return;
        end --;
    }
}

int main()
{
    int a[10000],i;
    int n = 0;
    while(scanf("%d",&a[n++]) != EOF);
    bubble(a, a+n-2);
    for(i = 0;i < n-1;++ i)
        printf("%d ",a[i]);
    return 0;
}