打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
c51单片机100个数从小到小大排序问题

 //冒泡排序                  验证过  

  void   MpSort(int  a[],int   len,int  flag)  
  {  
  int   i,j,t=0; 
     for(i=0;i<len-1;i++)  
        for(j=0;j<len-i-1;j++)  
         {  
            if(flag==0)  
  {  
  if(a[j]>a[j+1]) 
  {  
  t=a[j];  
  a[j]=a[j+1];  
  a[j+1]=t;  
  }  
  }  
            else  
  {  
  if(a[j]<a[j+1]) 
  {  
  t=a[j];  
  a[j]=a[j+1];  
  a[j+1]=t;  
  }  
  }  
            }  
  }  
   
  //查找排序      验证过  
  void   FindSort(int  a[],int   len,int  flag)  
  {  
  int   i,j,t; 
     for(i=0;i<len;i++)  
        for(j=i+1;j<len;j++)  
         {  
            if(flag==0)  
  {  
  if(a[i]>a[j]) 
  {  
  t=a[i];  
  a[i]=a[j];  
  a[j]=t;  
  }  
  }  
            else  
  {  
  if(a[i]<a[j]) 
  {  
  t=a[i];  
  a[i]=a[j];  
  a[j]=t;  
  }  
  }  
  }  
  }  
   
  //快速排序  
  void   QuickSort(int  a[],   int  left,   int   right) 
  {  
  int   mid,  mid1,   l,   r,  temp;  
  l=left;  
  r=right;  
  mid1=(left   right)/2;  
  mid=a[mid1];  
   
  while(l<r) 
  {  
  while(a[l]   mid)  
       ++l;  
  while(a[r]   mid)  
       --r;  
   
  if(l>r)  
  break;  
   
  temp   =  a[l];  
  a[l]   =  a[r];  
  a[r]   =  temp;  
   
  if(l!=   mid1) 
       --r;  
  if(r   !=  mid1)  
       ++l;  
  }  
   
  if(l   ==   r) 
       l++;  
  if(left   r)  
       qsort(a,   left,  l-1);  
  if(l   right)  
       qsort(a,   r+1,  right);     
  

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C语言实现选择排序、冒泡排序和快速排序的代码示例
数据算法排序之归并排序
基本算法-归并排序
★★★★★网页版 冒泡排序,选择排序,归并排序,快速排序,堆排序, 二分排序
文章预览
随机选择算法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服