⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 find.c

📁 数据结构课程设计报告,虽然好多地方都有
💻 C
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -