您的位置:首页 > 理论基础 > 数据结构算法

数据结构 C语言实现冒泡排序

2015-08-19 15:04 701 查看
一、冒泡排序简介

冒泡排序是相邻的两个数进行比较,每次把最大的或最小的放到后面。

二、代码实现

[code]#include <stdio.h>

/* 将两个数据交换 */
void swap(int* Ina , int* Inb)
{
    int temp = *Ina;
    *Ina = *Inb;
    *Inb = temp;
}

/*
* 函数功能:冒泡排序,把数据从小到大排序
* 参数解释:InArray  输入的数组
*         InLen    输入的数组的长度
*/
int maopaoSort(int* InArray,int InLen)
{
    int i = 0,j = 0;

    if(InArray == NULL)
        return 1;

    /* 外层循环 */
    for(i = 0; i < InLen-2; i++)
    {
        /* 内层循环 */
        for(j = 0; j < InLen-i-1; j++)
        {
            /* 时刻保证每次 */
            if(InArray[j] > InArray[j+1])
            {
                swap(&InArray[j],&InArray[j+1]);
            }
        }
    }
    return 0;
}

int main()
{
    int a[] = {49,38,65,97,76,13,27};
    int index = 0;

    int len = sizeof(a)/sizeof(int);

    /* 先遍历打印一下数组的元素 */
    for(index = 0; index < len; index++)
    {
        printf("%d  ",a[index]);
    }
    printf("\n");

    /* 调用选择排序函数 */
    maopaoSort(a,len);

    /* 再遍历打印一下数组的元素 */
    for(index = 0; index < len; index++)
    {
        printf("%d  ",a[index]);
    }
    printf("\n");

    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: