码迷,mamicode.com
首页 > 编程语言 > 详细

选择排序优化算法

时间:2015-05-31 15:30:31      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:c   选择排序优化   优化   算法   

<h2><span style="font-size:18px;">选择优化一:</span></h2><span style="font-size:18px;">
</span>
<span style="font-size:18px;">#include<stdio.h>
#define N 10    
int main(){
   int a[N],max,k,temp,j;
   for(int i=0;i<N;i++)
   {
       scanf("%d",&a[i]);
   }
   for(i=0;i<N;i++)
   {
	   max=i;
       for(j=i+1;j<N;j++)
	   {
		   if(a[j]>a[max])
		   {
		       max=j;
		   }
	   }
	   if(max!=i)
	   {
	               temp=a[i];
			a[i]=a[max];
			a[max]=temp;
	   }
   }
   
   printf("\n选择优化一:\n");
   for(i=0;i<N;i++)
   {
       printf("%4d ",a[i]);
   }
   printf("\n");

   return 0;
}</span>

选择优化二:

        
<span style="font-size:18px;">#include<stdio.h>
#define N 10
int main()
{
   int i,max,min,left,right,a[N],temp;
   for(i=0;i<N;i++)
   {
        scanf("%d",&a[i]);
   }
   for(left=0,right=N-1;left<right;left++,right--)
   {
          max=left;
	   min=right;
	   for(i=left;i<=right;i++)
	   {
	      if(a[i]>a[max])
		  {
		     max=i;
		  }
		  if(a[i]<a[min])
		  {
		     min=i;
		  }
	   }
	   if(max!=left)
	   {
	       temp=a[left];
		   a[left]=a[max];
		   a[max]=temp;
		   if(min==left)
		   {
		      min=max;

		   }
	   }
	   if(min!=right)
	   {
	               temp=a[min];
			a[min]=a[right];
			a[right]=temp;
	   }
   
   }
   printf("\n选择优化2 :\n");
   for(i=0;i<N;i++)
   {
     printf("%4d ",a[i]);
   }
   printf("\n");

    return 0;
}</span>

选择排序优化算法

标签:c   选择排序优化   优化   算法   

原文地址:http://blog.csdn.net/wangjiangang_/article/details/46288153

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!