首页 > 代码库 > 选择排序

选择排序

#include <stdio.h>
int main ( )
{
int i,j,t,N,a[1000] ;

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


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

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

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


return 0;
}

 

 

#include <stdio.h>
int main ( )
{
int a[10]={ 170,131,6,48,34,30,7,135,60,18} ;
int i,j,k,p,t,x ;
for(i=0 ;i<10 ;i++)
{
p=i ; // 选择
for(j=i+1 ;j<10 ;j++)
if(a[j]<a[p]) p=j ;
if(i!=p) { t=a[i] ; a[i]=a[p] ; a[p]=t ; }
printf("%d ",a[i]);
}

printf("\ninput number: \n") ;
scanf("%d",&x) ;
for(i=0 ;i<10 ;i++)
if(x<a[i])
{ for(k=9 ;k>=i ;k--) // for( k=0; k<=9 ;k++)
a[k+1]=a[k] ; break ;
}

a[i]=x ;
for(i=0 ;i<=10 ;i++)
printf("%d ",a[i]) ;

return 0;
}

 

 

 

 

 

 

 

 

 

 

 

 

#include <stdio.h>
int main ( )
{
int a[10] ;
int i,j,k,p,t,x ;

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

for(i=0 ;i<10 ;i++)
{ p=i ; // 选择
for(j=i+1 ;j<10 ;j++)
if(a[j]<a[p]) p=j ;
if(i!=p) { t=a[i] ; a[i]=a[p] ; a[p]=t ; }
printf("%d ",a[i]);
}

printf("\ninput number: \n") ;
scanf("%d",&x) ;
for(i=0 ;i<10 ;i++)
if(x<a[i])
{ for(k=9 ;k>=i ;k--)
a[k+1]=a[k] ; break ; }

a[i]=x ;
for(i=0 ;i<=10 ;i++)
printf("%d ",a[i]) ;

return 0;
}