嵌入式Linux中文站

[排序算法]冒泡排序之C语言实现


一,冒泡排序介绍及原理

 基本概念:依次比较相邻的两个数,大的数往后放,小的数往前面放。

 

 

 二,冒泡排序的C语言实现

 根据上图的原理,我们编写C语言的冒泡排序实现

# include <stdio.h>
// 排序函数
void sort(int * p,int len)
{
    for(int i=0;i<len;i++)
    {
        // 第二层循环,随着外层循环次数的递增是递减的,因为排序一次,就已经把大的数放到后面了,就不需要再次排它了
        for(int j=0;j<len-i-1;j++)
        {
            if(p[j]>p[j+1])
            {
                int temp = p[j];
                p[j] = p[j+1];
                p[j+1] = temp;
            }
        }
    }
}
// 输出函数
void console(int * p,int len)
{
    for(int i=0;i<len;i++)
    {
        printf("%d  ",p[i]);
    }
    printf("\n");
}
int main(void)
{
    // 要排序的数组
    int arr[7] = {6,9,8,3,4,1,2};

    // 调用排序函数
    sort(arr,7);

    // 输出排序结果
    console(arr,7);

    return 0;
}

本文永久更新链接:http://embeddedlinux.org.cn/emb-linux/entry-level/201701/06-6089.html



分享:

评论