1071: 冒泡排序

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

用起泡法(冒泡排序)对n个整数排序并输出从小到大排序后的结果。

输入

第一行包含一个大于0且不超过200的正整数n,表示以下有n个整数需要被排序。
第二行有n个用空格隔开的整数。

输出

输出从小到大排序后的结果,每个整数后输出一个空格。
请注意行尾输出换行。

样例输入 复制

10
1 0 4 8 12 65 -76 100 -45 123

样例输出 复制

-76 -45 0 1 4 8 12 65 100 123 

提示

需要用到动态申请内存空间函数malloc

加入头文件#include <stdlib.h>

动态申请代码如下:

int *p;
 scanf("%d",&n);
 p=(int *)malloc(sizeof(int)*n);
 for(i=0;i<n;i++)
 {
  scanf("%d",(p+i));
 }

-------------------------------------------

参考代码:

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    int n,*p;
    int i,j,temp;
    scanf("%d",&n);
    p = (int*)malloc(sizeof(int)*n); //申请n个元素的数组空间 ,p就是数组名
    for(i=0;i<n;i++) scanf("%d",&p[i]); //输入数组元素
    //冒泡排序
    //填入代码
    for(i=0;i<n;i++) printf("%d ",p[i]);
    free(p);//释放申请的数组空间
    return 0;
}