终于完成了,哈哈!

lonelybug lonelybug 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我只是把自己的课本上的一个算法用C++实现了一边,第一次用的是函数的方法,这次用的是类的方法!请大家看看,设计的是否合理,有不足之处希望大虾们不息赐教,哈哈!
>>>>>>>>>>>>>study6a.cpp<<<<<<<<<<<<<<<<
#include <iostream>
#include <stdlib.h>
#include "study6a.h"
#define maxnum 3
using namespace std;

binarysearch::binarysearch(int *numlist,int max){
list=numlist;
maxlimit=max;
}



int *binarysearch::sortlist()
{
int tempnum;
for(int pass=0;pass<=maxlimit-1;pass++)
for(int c=0;c<=maxlimit-pass-2;c++)
{
if (list[c]>list[c+1])
{
tempnum=list[c];
list[c]=list[c+1];
list[c+1]=tempnum;

}
}
return list;
}

int binarysearch::gettarget(){
int targetnum;
cout<<"属于要查找的数字"<<endl;
cin>>targetnum;
return targetnum;
}

int binarysearch::search(int target){
bool found=0;
int low=0;
int middle;
int high=maxlimit;
while((low<=high)&&(found==0))
{
middle=(low+high)/2;
if (list[middle]==target)
{
return middle+1;
found=1;
}
else
if (list[middle]>target)
high=middle-1;
else
low=middle+1;

}
if (found==0)
return 0;

}

binarysearch::~binarysearch(){}

int main(){
int stringlist[maxnum];
int *stradd=stringlist;
int target,result;
cout<<"请输入一组数字"<<endl;
for(int i=0;i<=maxnum-1;i++)
{
cin>>stringlist[i];
}
binarysearch BS(stradd,maxnum);
/*列出排列好的数组
for(int i=0;i<=maxnum-1;i++)
{
cout<<*BS.sortlist()+i<<endl;
}
*/
BS.sortlist();
target=BS.gettarget();
result=BS.search(target);
if (result==0)
{
cout<<"没有找到数字"<<target<<endl;
}
else
{
cout<<"数字"<<target<<"已经找到位置在"<<result<<endl;
}
system("pause");
return 0;
}

>>>>>>>>>>>>>study6a.h<<<<<<<<<<<<<<<<
#ifndef study6a_H_
#define study6a_H_

class binarysearch{
private:
int maxlimit;
int *list;
public:
binarysearch(int*,int);
~binarysearch();
int *sortlist();
int gettarget();
int search(int);
};
#endif
...全文

相关推荐

Custom-Simple-Captcha:简单灵活的验证码系统对抗愚蠢的自动垃圾邮件机器人

自定义简单验证码 该项目的目标是提供一个简单的验证码解决方案,以防止自动垃圾邮件机器人,并提供比传统的“难以/无法破译”验证码更好的用户体验,传统的“难以/无法破译”验证码通常会给服务用户和开发人员带来挫败感。 SimpleCustomCaptcha 旨在通过允许创建向用户提出的自定义问题,为您的各种特定项目配置提供灵活性。 适合客户和应用领域的定制解决方案总是比为每个人创建的通用版本更合适。 ##安全问题 这个验证码系统将提供一些针对愚蠢的自动垃圾邮件机器人的安全性,但一个专门的攻击者肯定能够破解它。 该解决方案的安全性远不及谷歌的 ReCaptcha 等高级解决方案的替代品。 该项目只是尝试为开发人员提供一种更灵活的替代解决方案,以满足特定领域的需求。 请记住,永远不应在应用程序的客户端处理质询文件。 除了您的服务器脚本之外,其他任何人都不应该访问它,换句话说,限制读取权限。

吾自行

基于恒阻抗负荷模型与母线三相短路扰动条件下三机九节点系统多频段电力系统稳定器暂态稳定性能评估(Simulink仿真实现)

内容概要:本文系统阐述了一套基于优先级规划与Petri网融合的多机器人路径规划(MAPF)MATLAB代码库,该框架将求解过程划分为几何解析、拓扑构建、调度优化与可视化呈现四个层次,实现了从地图解析、四邻域拓扑与Petri网建模,到基于优先级启发式的路径搜索、时间同步与冲突消解,再到动画与视频输出的完整闭环。其核心创新在于采用Petri网将“多机器人无冲突”这一动态时间约束转化为“每库所至多一标记”的静态容量约束,从而支持整数规划求解;并通过动态边权膨胀机制避免因硬封锁导致的虚假不可解问题,结合节点预留历史与几何惩罚驱动的局部同步策略,显著提升了冲突查询效率与调度性能。框架还支持双坐标系统与全流程可视化,便于算法行为分析与结果验证。; 适合人群:具备一定编程基础和机器人路径规划基础知识的研究生、科研人员及工程技术人员,尤其适合从事仓储物流、自动驾驶、无人机编队等多智能体系统研究的专业人士。; 使用场景及目标:① 在大规模多机器人系统中快速生成无冲突路径,适用于自动化仓库调度等工业场景;② 作为教学与研究工具,深入理解MAPF中的优先级规划、Petri网建模、冲突消解机制及其数学本质;③ 支持算法复现与扩展,可用于对比不同启发式策略、同步算法与规划框架的性能差异。; 阅读建议:建议读者按照文中组织结构顺序阅读,重点关注各模块之间的接口设计与信息传递机制,结合提供的代码实例进行调试与运行,深入理解动态边权膨胀、Petri网容量约束转化、节点预留历史与几何惩罚驱动同步等关键技术的设计意图与实现细节。

欢多天天写代码

机械三维3D设计图-打铁扣自动机.zip

机械三维3D设计图-打铁扣自动机.zip

ZL4120505

机械三维3D设计图-光伏铝板自动打标码垛线step.zip

机械三维3D设计图-光伏铝板自动打标码垛线step.zip

ZL4120505

译页:一款支持大模型翻译的浏览器网页翻译插件

机器翻译及大模型翻译,需要到浏览器扩展中心开启开发者后加载未打包扩展程序

qq_34894365
评论 23
收藏 已收藏
分享
返回顶部
lonelybug
C语言 70,039 成员 243,237 内容