menu MineCraft爱好者
[C语言]利用指针和malloc进行冒泡算法
search more_vert
MineCraft爱好者
MineCraft-我的世界热爱者是我的世界服主资源分享交流站为MC服主提供最新最全的游戏资料Bukkit插件Sponge插件服务端整合包等打造国内最大的Minecraft插件基地和精品资源分享平台
[C语言]利用指针和malloc进行冒泡算法

代码

#include <stdio.h>
#include <stdlib.h>

void maopao(int a[], int n); //冒泡算法函数
void display(int a[], int n); //输出显示数据函数
void innum(int a[], int n); //录入数据函数

int main(void)
{
    int n, i;
    printf("准备输入的数据:");
    scanf("%d", &n);
    int* a = (int*)malloc(sizeof(int) * n); //申请连续内存
    innum(a, n);
    maopao(a, n);
    display(a, n);
    free(a); //释放申请的内存
}

void maopao(int a[], int n)
{
    int t, i, j;
    for (i = 0; i < n - 1; i++)
    {
        for (j = 0; j < n - 1 - i; j++)
        {
            if (a[j] > a[j + 1])
            {
                t = a[j];
                a[j] = a[j + 1];
                a[j + 1] = t;
            }
        }
        display(a, n);//显示每轮交换数据的结果
        printf("\n");
    }
}

void display(int a[], int n)
{
    int i;
    for (i = 0; i < n; i++)
    {
        printf("%d  ", a[i]);
    }
}

void innum(int a[], int n)
{
    int i;
    for (i = 0; i < n; i++)
    {
        scanf("%d", &a[i]);
    }
}

评论

0条评论