find.c
来自「数据结构课程设计报告,虽然好多地方都有」· C语言 代码 · 共 90 行
C
90 行
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 14
/*==================================================*/
//顺序查找
/*==================================================*/
void Find_S(int array[MAXSIZE], int find_x)
{
int i=0;
for(;i<MAXSIZE;i++)
{
if(array[i]==find_x)
{
printf("找到元素[%d]在第[%d]位置\n",array[i],i+1);
break;
}
}
if(i>MAXSIZE-1)
printf("未找到\n");
}
/*==================================================*/
//折半查找
/*==================================================*/
int Middle_Find(int array[MAXSIZE], int find_x)
{
int low=0,high=MAXSIZE-1,middle,flag=1;
while(flag&&low<=high)
{
middle=(low+high)/2; //中间位置
if(array[middle]==find_x)
{
printf("找到元素[%d]在第[%d]位置\n",array[middle],middle+1);
flag=0;
}
else if(array[middle]>find_x)
high=middle-1; //修改尾位置
else
low=middle+1; //修改头位置
}
if(flag)
printf("未找到\n");
}
main()
{
int scan_switch,i=0,find_x;
//给定数组,可自己修改
int array[MAXSIZE]={2,6,9,17,23,35,46,77,89,111,125,185,255,999};
while(1)
{
printf("1.顺序查找法\n");
printf("2.折半查找法\n");
printf("3.显示数组\n");
printf("选择功能码:");
scanf("%d",&scan_switch);
switch(scan_switch)
{
case 1:
{
printf("输入要查找的元素:");
scanf("%d",&find_x);
Find_S(array,find_x);
}break;
case 2:
{
printf("输入要查找的元素:");
scanf("%d",&find_x);
Middle_Find(array,find_x);
}break;
case 3:
{
for(;i<14;i++)
printf("%d ",array[i]);
printf("\n");
}break;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?