冒泡排序是很经典的排序算法,这里贴上C语言冒泡排序的代码,其他语言也基本类似。

排序函数:

void BubbleSort(int arr[])
{
    int i,j,temp;
    for(i=0;i<N-1;i++)
    {
        for(j=0;j<N-i-1;j++)
        {
            if(arr[j]>arr[j+1])//'>'号代表从小到大排序(升序),'<'号代表从大到小排序(降序)
            {
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }
}

完整代码:

#include <stdio.h>
#define N 10 //数组元素个数

void BubbleSort(int arr[])
{
    int i,j,temp;
    for(i=0;i<N-1;i++)
    {
        for(j=0;j<N-i-1;j++)
        {
            if(arr[j]>arr[j+1])//'>'号代表从小到大排序,'<'号代表从大到小排序
            {
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }
}

int main()
{
    int i;
    int arr[]={5,1,9,6,7,8,4,3,0,2};
    printf("排序前:");
    for(i=0;i<N;i++)
        printf("%d ",arr[i]);
    printf("\n");
    BubbleSort(arr);
    printf("排序后:");
    for(i=0;i<N;i++)
        printf("%d ",arr[i]);
    printf("\n");
    return 0;
}
 
返回顶部