现在的位置: 首页 > 综合 > 正文

插入排序和希尔排序

2018年10月30日 ⁄ 综合 ⁄ 共 285字 ⁄ 字号 评论关闭

插入排序

void insert_sort(int A[] , int n)
{
	for (int i = 1 ; i < n ;++i)
	{
		  int v = A[i] ;
		  int j = i - 1  ;
		  while( j >= 0 && A[j] > v)
		       {
		       	 A[j+1] =  A[j] ;
		       	   --j;
		       }
		A[j+1] = v ;
	}
}

希尔排序

void shell_sort(int A[] , int n)
{
	int i , j , gap , v;
	for (  gap = n/2 ; gap > 0 ; gap /= 2 )
	  
	  	for (  i = gap ;  i < n ; ++i )
	  	  {
	  	  	 v = A[i] ;
	  	  	for (  j = i ; j >=gap ; j-= gap)
	  	  	    if ( v < A[j-gap])
	  	  	        A[j] = A[j-gap] ;
	  	  	    else break ;
	  	  	    A[j] = v;
	  	  }
	         
	  
}
【上篇】
【下篇】

抱歉!评论已关闭.