| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 378 人关注过本帖
标题:二分排序问题
只看楼主 加入收藏
刘暮哲
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:75
专家分:83
注 册:2009-9-25
结帖率:69.23%
收藏
已结贴  问题点数:6 回复次数:1 
二分排序问题
#include<stdio.h>
#include<math.h>
#define n 10
void sort(int m,int x[]);
void main()
{
    int i,j;
    int a[n];
    printf("please input the items:\n");
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    sort(n,a);
    for(i=0;i<n;i++)
        printf("%d\t",a[i]);
}


void sort(int m,int x[])
{   int high,low;
   
    int i,j,k,l;
    for(i=1;i<m;i++)
    {  
         
          low=0;
          high=i-1;
          while(low<=high)
          {
              l=(low+high)/2;
              if(x[i]<x[l])
                  high=l-1;
              else
                  low=l+1;
          }
          for(j=i;j>low;--j)
          {  
              x[j+1]=x[j];
          }
          x[low+1]=x[i];   
}

}

请问我这二分插入有何不对啊  
搜索更多相关主题的帖子: include please 
2009-11-10 13:22
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:6 
这个二分排序···有点玄···
程序代码:
 #include<stdio.h> 
#include<math.h> 
#define n 10
void sort(int m,int x[]);
void main()
{
    int i,j;
    int a[n];
    printf("please input the items:\n");
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    sort(n,a);
    for(i=0;i<n;i++)
        printf("%d\t",a[i]);
}

void sort(int m,int x[])
{
    int high,low;    
    int i, j, k, l, t;
    for(i=1;i<m;i++)
    { 
          k=i;
          low=0; 
          high=i-1; 
          while(low<=high)
          { 
               l=(low+high)/2; 
               if(x[l]>=x[i])
                   high=l-1;
               else 
                   low=l+1;
          } 
          if(high<i|| x[low]!=x[i]) 
          {   
           t=x[i];      //  注意值会被覆盖
           for(j=i-1;j>=low;j--) 
                x[j+1]=x[j]; 
           x[low]=t; 
           k++; 
          } 
    }
}
2009-11-10 14:12
快速回复:二分排序问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013563 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved