C++ 请求用户在数组中搜索整数

C++ 请求用户在数组中搜索整数,c++,data-structures,C++,Data Structures,我正在学习处理数据结构,我刚刚编写了一个程序,可以对整数数组进行排序。 分类工作非常好,因此存在;it’没有必要去解决它。 但我希望给我的用户一种在排序数组中搜索特定数字的方法。 但它不起作用:更具体地说: 我在MSVS2010中,在Win7x64Ultimate下编译了以下代码,在编写“指定要搜索的数字”后,它崩溃了,调试器显示“访问冲突” #包括“stdafx.h” #包括 #包括 #包括 #包括 使用名称空间std; 整数交换(整数x,整数y) { 如果(x!=y) { _asm { mo

我正在学习处理数据结构,我刚刚编写了一个程序,可以对整数数组进行排序。 分类工作非常好,因此存在;it’没有必要去解决它。 但我希望给我的用户一种在排序数组中搜索特定数字的方法。 但它不起作用:更具体地说: 我在MSVS2010中,在Win7x64Ultimate下编译了以下代码,在编写“指定要搜索的数字”后,它崩溃了,调试器显示“访问冲突”

#包括“stdafx.h”
#包括
#包括
#包括
#包括
使用名称空间std;
整数交换(整数x,整数y)
{
如果(x!=y)
{
_asm
{
mov-eax,x;
mov-ebx,y;
mov-y,eax;
movx,ebx;
}
}
返回0;
}
int插入_排序()
{
int或_size=2;
内部i、j、k、h、尺寸、温度;
char answ;
int xx;
字符查询[20];
printf(“指定数组大小\n”);
扫描单位(“%d”和大小);
printf(“现在,输入数组的所有元素\n”);
向量数组(大小为0);
如果(大小>或_大小)
数组。调整大小(大小);
对于(int i=0;i数组[i])
{
温度=阵列[j];
数组[j]=数组[i];
对于(k=i;k>j;k--)
数组[k]=数组[k-1];
数组[k+1]=温度;
}
printf(“\n您的数组已被插入\u排序,应该知道如下所示:\n”);
对于(int i=0;i
PS忽略_asm部分:它可以工作,但尚未使用:-)

printf(“搜索%d”,查询)
由于
query
被声明为一个
char
数组,因此不应使用用于打印有符号整数的
%d
说明符,将
%d
更改为
%s
query
更改为
xx
。由于这是C++,所以我会使用<代码> STD::CUT >

sizeof(Array)
不执行您希望它执行的操作。改用
Array.size()

在C++中,你不必在函数的开头声明所有变量。我相信这是C89的老部分。这意味着您可以像这样声明for循环,例如(inth=0;h

下面是一个尝试在向量中查找内容的好例子:

if(std::find(Array.begin(), Array.end(), xx) != Array.end())
    std::cout << "found" << std::endl;
else
    std::cout << "not found" << std::endl;
if(std::find(Array.begin(),Array.end(),xx)!=Array.end())

STD::我不知道,稍后,但现在我知道了两个点,我正在学习更多的C++。
if(std::find(Array.begin(), Array.end(), xx) != Array.end())
    std::cout << "found" << std::endl;
else
    std::cout << "not found" << std::endl;