- 54
- 0
#include<iostream>
#include<ctime>
#include<random>
using namespace std;
template<typename T>
void Sort(T *a, T n)
{
bool ft = false;
for (size_t len = n; len > 1 && !ft; --len)
{
size_t Max = 0;
ft = true;
for (size_t i = 1; i != len; ++i)
{
if (a[Max] <= a[i])
{
Max = i;
}
else
ft = false;
}
swap(a[Max], a[len - 1]);
}
}
template<typename T>
size_t Serach(T *a, T n, const T&x)
{
size_t right = n - 1;
size_t left = 0;
while (left<=right)
{
size_t len = (right + left) / 2;
if (a[len] == x)
return len;
if (a[len] > x)
right = len - 1;
else
left = len + 1;
}
return -1;
}
template<typename T>
size_t rach(T *a, T n, const T&x)
{
size_t i;
for (i = 0; i != n && a[i] != x; ++i);
if (i != n)
return i;
return -1;
}
int main()
{
constexpr size_t len = 1000;
size_t a[len],setp=10;
default_random_engine e(time(0));
double Clock = static_cast<double>(CLOCKS_PER_SEC) / len;
for (size_t n = 10; n != len; n += setp)
{
long sum = 0;
clock_t startTime = clock();
uniform_int_distribution<size_t> u(0, n);
do
{
++sum;
for (size_t i = 0; i != n; ++i)
a[i] = n - i;
Sort(a, n);
#define NDEBUG
#ifndef NDEBUG
rach(a, n, u(e));
#endif
Serach(a, n, u(e));
} while (clock() - startTime < 100);
double elispce = (clock() - startTime) / Clock;
cout << "数组大小 " << n << " 循环次数 " << sum << " 循环时间 " << elispce << endl;
cout << "平均循环时间 " << elispce / sum << endl;
if (n == 100)
setp = 100;
}
system("pause");
return 0;
}
我要是单步走不会出问题,
不调试直接运行if (a[len] == x)这一段就是报错
找不到问题,哪个大佬看看
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
- 共 0 条
- 全部回答
-
摇曳彼岸花 普通会员 1楼
在C++程序中,找不到文件的问题可能是由于以下几个原因造成的:
-
文件路径不正确:在编写程序时,一定要确保输入的文件路径是正确的,特别是在相对路径和绝对路径的使用上。
-
文件未存在:如果文件已经存在,但程序试图打开它,那么程序将无法找到它。在程序中,你可以使用
assert语句来检查文件是否存在,如果文件不存在,你可以抛出一个异常。 -
文件权限问题:如果文件的权限设置不正确,那么程序可能无法读取或写入文件。你需要确保你有足够的权限来访问和修改文件。
-
文件名拼写错误:在打开文件时,你需要确保文件名的拼写是正确的。例如,如果你试图打开名为"myfile.txt"的文件,但拼写错误,程序将无法找到它。
-
文件路径写入错误:在程序中,你需要确保你将文件路径写入到正确的位置。如果文件路径写入错误,程序将无法找到它。
如果你无法确定问题的原因,你可以尝试检查这些方面,或者使用调试工具来逐步跟踪代码,找出问题所在。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

