选择法语冒泡法

来源:互联网 发布:安特 日日奇数据 编辑:程序博客网 时间:2024/04/30 03:43
#include <stdio.h>
#include <stdlib.h>
void xuanze(int *a,int n)/*任意输入n个数,将这n个数从头到小排序8/
{
    int i,j,temp;
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
            if(a[i]<a[j])
        {
            temp=a[i];
            a[i]=a[j];
            a[j]=temp;
        }
    }
    return;
}
void xuanze2(int *a,int n)
{
    int i,j,k,temp;
    for(i=0;i<n-1;i++)
    {
        k=i;
        for(j=i+1;j<n;j++)
            if(a[j]>a[k]) k=j;
        if(i!=k)
        {
            temp=a[i];
            a[i]=a[k];
            a[k]=temp;
        }
    }
    return ;
}
int main()
{
    int n,i,a[10000];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    xuanze2(a,n);
    for(i=0;i<n;i++)
        printf("%d ",a[i]);
    return 0;
}
/*下面是冒泡*/
#include <stdio.h>
#include <stdio.h>
void maopao(int *a ,int n)
{
    int i,j,temp;
    for(i=0;i<n-1;i++)
        for(j=0;j<n-i-1;j++)
    if(a[j]>a[j+1]) {temp=a[j];a[j]=a[j+1];a[j+1]=temp;}
    return;


}
int main()
{
    int i,j,n,a[1000];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    maopao(a,n);
    for(j=0;j<n;j++)
        printf("%d ",a[j]);
    return 0;
}
0 0