打卡学习 1-28

遇到bug 初步觉得是指针指向出了问题
打卡学习 1-28

发现for循环赋值发生错误
打卡学习 1-28

改成while循环bug解除
打卡学习 1-28

#include<stdio.h>

void bubble_sort(int arr[],int sz)
{
    //确定冒泡排序的趟数
    int i = 0;
    for (i = 0; i < sz - 1; i++)
    {
        int flag = 1;
        int s = 0;
        //每一趟冒泡排序的内容
        while(s < sz-i-1)
        {

            if (arr[s] > arr[s + 1])
            {
                int tmp = arr[s];
                arr[s] = arr[s + 1];
                arr[s + 1] = tmp;
                flag = 0;
            }
            s++;
        }
        if (flag == 1)
        {
            break;
        }

    }
}

int main()
{
    int arr[] = { 9,8,7,6,5,4,3,2,1 };
    int i = 0;
    int sz = sizeof(arr)/sizeof(arr[0]);
    bubble_sort(arr,sz);//冒泡排序
    for (i = 0; i < sz; i++)
    {
        printf("%d ", arr[i]);
    }
    return 0;
}

猜你喜欢

转载自blog.51cto.com/15085369/2609745
今日推荐