Check in and learn 1-28

When encountering a bug, I initially felt that there was a problem with the pointer
Check in and learn 1-28

Found an error in the for loop assignment
Check in and learn 1-28

Change to while loop bug to remove
Check in and learn 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;
}

Guess you like

Origin blog.51cto.com/15085369/2609745