冒泡排序示例

代码

#include 
#define SIZE 8
void bubble_sort(int a[], int n)
{
    for(int i=0;i1;i++)
    {
        for(int j=0;j1-i;j++)
        {
            if(a[j]>a[j+1])
            {
                int temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    }
}
int main()
{
    int number[SIZE] = {95, 45, 15, 78, 84, 51, 24, 12};
    bubble_sort(number, SIZE);
    for (int i = 0; i < SIZE; i++)
    {
        printf("%d  ", number[i]);
    }
    printf("\n");
}

简单解析

冒泡排序的基本思想是:n个点需要运行n-1(由于第n次只剩下一个点,不需要把最大值冒到最后)次,每一次会把最大的值通过交换,交换到最后,同时下一次运行不理会这个点了,运行集就会少一个点。

你可能感兴趣的:(c/c++)