冒泡排序,选择排序,随机数,C语言

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 100
void data(int a[],int n)//此函数用来产生随机数
{
    int i,seed;
    seed=time(0);
    srand((unsigned int)seed);
    for(i=0;i<n;i++)
    {
        a[i]=rand()%100;
    }
}
void maopao(int a[],int n )//此函数用来实现冒泡排序
{
    int i,j,t;
    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;
        }
    printf("冒泡排序后的顺序为:");
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");
}
void choose(int a[],int n)//此函数用来实现选择排序
{
    int i,j,t,min;
    for(i=0;i<n-1;i++)
    {
        min=i;
        for(int j=i+1;j<n;j++)
        {
            if(a[j]<a[min])
                min=j;
            if(i!=min)
                t=a[i],a[i]=a[i+1],a[i+1]=t;
        }
    }
    printf("选择排序后的顺序为:");
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");
}
int main()
{
    int i,n,a[N];
    printf("请输入有多少个数据:");
    scanf("%d",&n);
    data(a,n);
    printf("待排序的数据为:");
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");
    maopao(a,n);
    choose(a,n);
    return 0;
}
 

猜你喜欢

转载自blog.csdn.net/wqw_pakchoi/article/details/82817474