排序

来源:互联网 发布:one软件 编辑:程序博客网 时间:2024/06/07 23:49

1==选择排序

#include <stdio.h>

int main(int argc, char *argv[])

{

       int i,j;

       int min,t;

       int a[6];

      

         for(i=0;i<6;i++)

        scanf("%d",&a[i]);

      

       for(i=0;i<6;i++)

       { 

          min=i;

          

              for(j=i+1;j<6;j++)

           if(a[j]<a[min])  min=j;  

           if(i!=min)

                         {  t=a[i]; a[i]=a[min];a[min]=t;  }        

       }

      

        for(i=0;i<6;i++)

                             printf("%d ",a[i]);     

}

 

 

 

比较排序

 

#include <stdio.h>

#define N 6

int main(int argc, char *argv[])

{

       int a[N];

      

       int i,j,t;

       for(i=0;i<N;i++)

         scanf("%d",&a[i]);

         

         for(i=0;i<=N-1;i++)

          for(j=i+1;j<=N-1;j++)

            if(a[j]<a[i]){  t=a[i]; a[i]=a[j]; a[j]=t; }

            

            for(i=0;i<N;i++)

             printf("%d ",a[i]);

             printf("\n");

       return 0;

}

 

冒泡排序

 

#include <stdio.h>

int main(int argc, char *argv[])

{

       int i,j,t;

      

       int n;

       scanf("%d",&n);

       int a[n];

      

       for(i=0;i<n; i++)  scanf("%d",&a[i]);

      

       for(i=0;i<n;i++)

        for(j=0;j<n-1-i;j++) 

         if(a[j+1]<a[j]){ t=a[j];a[j]=a[j+1]; a[j+1]=t;}

      

       for(i=0;i<n;i++)

        printf("%d",a[i]);

       return 0;

}

 

第二个

#include <stdio.h>

#define N 5

int main(int argc, char *argv[])

{

    int a[N];

    int i,j,t;    

      

       for(i=0;i<N; i++)

         scanf("%d",&a[i]);

        

         

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;}

          

        for(i=0;i<N; i++)

         printf("%d",a[i]);

         printf("\n"); 

       return 0;

}

 

第三个

#include <stdio.h>

void sort(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;   }  //相邻比较 

}

 

int main(int argc, char *argv[])

{

       int N;

       scanf("%d\n",&N);

      

       int b[N],i;

       for(i=0;i<N; i++)

         scanf("%d",&b[i]);

         

         sort(b,N);

          

        for(i=0;i<N; i++)

         printf("%d",b[i]); 

         printf("\n"); 

       return 0;

}

原创粉丝点击