java排序及查找方法_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3758 | 回复: 0   主题: java排序及查找方法        下一篇 
jfl
注册用户
等级:少校
经验:1112
发帖:95
精华:0
注册:2012-8-10
状态:离线
发送短消息息给jfl 加好友    发送短消息息给jfl 发消息
发表于: IP:您无权察看 2012-8-30 9:27:49 | [全部帖] [楼主帖] 楼主

     来一起来学习一下JAVA中的排序及查找方法吧,看下面的代码,认真研究下看看、

#include <malloc.h>
#include<stdio.h>
#define N 11
/*用监视哨查找*/
int search(int array[],int n,int k)
{int i;
      i=n-1;
      array[0]=k;
      while(array[i]!=k) i--;
      return(i);
}
/*折半查找法*/
int halfsearch(int array[],int n,int k)
{int i,j,mid;
      i=1;j=n;
      while(i<=j)
      {mid=(i+j)/2;
            if(k==array[mid]) return(mid);
            else if(k<array[mid]) j=mid-1;
            else i=mid+1;
      }
      return(0);
}
/*冒泡排序法*/
void mpsort(int array[])
{int i,j,a;
      a=0;
      for(i=1;i<N;i++)
      for(j=i+1;j<N;j++)
      if(array[i]>array[j])
      {a=array[i];
            array[i]=array[j];
      array[j]=a;}
}
/*直接插入排序*/
void insertsort(int array[])
{int i,j;
      for(i=2;i<N;i++)
      {array[0]=array[i];
            j=i-1;
            while(array[0]<array[j])
            {array[j+1]=array[j--];
                  array[j+1]=array[0];
            }
      }
}
/*建立*/
void creat(int array[])
{int i;
      printf("enter the array:\n");
      for(i=1;i<N;i++)
      scanf("%d",&array[i]);
}
/*显示*/
void print(int array[])
{int i;
      printf("The numbers after sort is:\n");
      for(i=1;i<N;i++)
      printf("%d ",array[i]);
      printf("\n");
}
main()
{int a[11],i,x,chang;
/*printf("enter the array\n");
for(i=1;i<11;i++)
scanf("%d",&a[i]);*/
aga:
printf("\nchang:1: use watching method finding\n 2:use half method finding\n 3: use directness intsert method sort\n 4:use bubble up method sort\n 5:exit\n");
scanf("%d",&chang);
switch (chang)
{case 1:
      {creat(a);
            printf("Please int the search number:\n");
            scanf("%d",&x);
            printf("The number station is:%d\n",search(a,N,x));
            goto aga;
      }
      case 2:
      { creat(a);
            insertsort(a);
            print(a);
            printf("Please int the search number:\n");
            scanf("%d",&x);
            printf("The number station is:%d\n",halfsearch(a,N,x));
            goto aga;
      }
      case 3:
      {creat(a);
            insertsort(a);
            print(a);
            goto aga;
      }
      case 4:
      {creat(a);
            mpsort(a);
            print(a);
            goto aga;
      }
case 5:{ printf("exit!\n");break;}
default:{printf("Error!\n"); goto aga;}
}
}




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论