对动态数组用 选择排序算法排序(C语言)

来源:互联网 发布:cms什么意思 编辑:程序博客网 时间:2024/05/30 04:10
#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=i+1;j<n;j++)
{
if(a[i]<a[j])
swap(a[i],a[j]);
}
}
}
原创粉丝点击