冒泡算法对动态数组排序

来源:互联网 发布:java中实现杨辉三角 编辑:程序博客网 时间:2024/06/06 08:58
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
void swap(int&,int&);
void sort(int* ,int n);
int main()
{
     int *array1 = 0, num, i; 
     printf("please input the number of element: "); 
     scanf("%d", &num); 


     // 申请动态数组使用的内存块 
     array1 = (int *)malloc(sizeof(int)*num); 
     if (array1 == 0)             // 内存申请失败,提示退出 
     { 
         printf("out of memory,press any key to quit...\n"); 
         exit(0);             // 终止程序运行,返回操作系统 
     } 


     // 提示输入num个数据 
      printf("please input %d elements: ", num); 
      for (i = 0; i < num; i++) 
         scanf("%d", &array1[i]); 


     // 输出刚输入的num个数据 
     printf("%d elements are: \n", num); 
     for (i = 0; i < num; i++) 
         printf("%d,", array1[i]); 
printf("\n");
sort(array1,num);
printf("the sorted number is :\n");
for (i = 0; i < num; i++) 
         printf("%3d", array1[i]); 
    getchar();
getchar();
return 0;
}
void swap(int &a, int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
void sort(int*a ,int n)
{
int i,j;
// int a[10]={10,7,12,9,45,5,43,8,9,3};
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j+1]<a[j])
swap(a[j+1],a[j]);
}
}
}
原创粉丝点击