• 实验


    #include<stdio.h>
    #include<malloc.h>
    #include<algorithm>
    #include<iostream>
    using namespace std;
    struct node{
      int *elem;
      int length;
    };
    node a;
    int f,p;
    void order_find(int x){
      int flag=0;
      int pos=-1;
      for (int i=0;i<a.length;i++){
         if(a.elem[i]==x){
            flag=1;
            pos=i+1;
            break;
         }
      }
      if (flag){
        printf("存在这个数,第一个的位置在%d
    ",pos);
      }else{
        printf("不存在这个数");
      }
    }
    void erfen_find(int l,int r,int data){
         int mid=(l+r)/2;
         if(a.elem[mid]==data){
            f=1;
            return;
         }
         if(l==r){
            if(a.elem[mid]==data)f=1;
            return;
         }
         if(a.elem[mid]<data){
           erfen_find(mid+1,r,data);
         }else {
           erfen_find(l,mid,data);
         }
    }
    int main(){
      int n,num;
      f=0;
      while(~scanf("%d",&n)){
      f=0;
      a.elem=(int*)malloc(100*sizeof(int));
      for (int i=0;i<n;i++){
        scanf("%d",&a.elem[i]);
      }
      a.length=n;
      printf("请输入要查找的数字");
      scanf("%d",&num);
      printf("按照顺序查找:");
      order_find(num);
      sort(a.elem,a.elem+a.length);
      erfen_find(0,a.length-1,num);
      printf("按照二分查找:");
      if (f){
        printf("查找到这个数
    ");
      }else {
        printf("不存在这个数
    ");
      }
      }
      return 0;
    }
    View Code
    有不懂欢迎咨询 QQ:1326487164(添加时记得备注)
  • 相关阅读:
    新式类、经典类与多继承
    实现抽象类之方式二
    实现抽象类之方式一
    re模块
    28个高频Linux命令
    Git使用教程
    编程语言介绍
    编码
    进制
    操作系统简史
  • 原文地址:https://www.cnblogs.com/bluefly-hrbust/p/10096251.html
Copyright © 2020-2023  润新知