插入排序

#include <iostream>
using namespace std;
const int n=10 ;
int main( )
{
void f(int a[],int n ) ;
int a[n] ={  42,65,80,74,36,44,28,65,94,72 } ;
    f(a,n) ;
  for(int i=0; i<n; i++) 
  cout<<a[i]<<" "   ;
  cout<<endl ;	
}

void f(int a[],int n)
{
	int i,j,x ;
	for(i=1;i<n ;i++)
	{
		x=a[i] ;
		for(j=i-1;j>=0;j--)
		if(x<a[j]) 
		     a[j+1]=a[j] ;
		  else   break   ;
		  a[j+1]=x       ;    
	}
}









p100


#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]={ 170,131,6,48,34,30,7,135,60,18} ;
int i,j,k,t,x ;
for(i=0 ;i<10 ;i++)
 {
   for(j=i+1 ;j<10 ;j++)
   	if(a[j]<a[i])    { t=a[i] ; a[i]=a[j] ; a[j]=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;
}













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










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

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

for(i=0 ;i<10 ;i++)
 {
   for(j=i+1 ;j<10 ;j++)
   	if(a[j]<a[i])    { t=a[i] ; a[i]=a[j] ; a[j]=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;
}

  

posted @ 2013-12-23 22:38  博园少主  阅读(158)  评论(0编辑  收藏  举报