怎样克隆别人的网站官网大全

bicheng/2026/1/27 15:14:02/文章来源:
怎样克隆别人的网站,官网大全,html5和php做网站,怎么在网站上做网页1.前序 又有很久没有更新文章了#xff0c;这次带你们手撕几道基础题#xff1b;真的就和康纳吃饭一样简单#xff01;#xff01;#xff01; 如果还不会队列和栈的可以去看看之前写的博客#xff1b; 栈的实现 队列概念以及实现 - 快速传送 目录 1.前序 …1.前序 又有很久没有更新文章了这次带你们手撕几道基础题真的就和康纳吃饭一样简单 如果还不会队列和栈的可以去看看之前写的博客 栈的实现       队列概念以及实现  - 快速传送 目录 1.前序 2.括号匹配问题有效的括号 - 快速传送 3.用队列实现栈   - 快速传送 3.1 核心思路 3.2代码部分上面是思路 4.用栈实现队列  - 快速跳转 4.1这里用c语言实现的所以要复制一个栈 5.带环队列 - 快速跳转 2.括号匹配问题有效的括号 - 快速传送 核心思路 一定是左括号入栈右括号在外面入完数据尝试匹配不相等 可以如果相等可以走到最后返回true左括号有数据右括号没数据此时说明返回false右括号有数据左括号没有右括号还有没匹配的此时*s有数据进了循环if判断栈为NULL此时为false 根据上图分析有4种情况第一步建立循环有数据就往下读取左括号入栈右括号不如栈进入的数据拿去比对先处理正常情况没有进入到if判断(不匹配的情况),此时就可以证明时匹配上了因为没有返回false注意不匹配的情况当满足左括号和右括号对应的时候此时就可以不会进if bool isValid(char* s) {ST str;STInit(str);while(*s)//有数据就继续读{if(*s ( || *s { || *s [)//是左括号就入栈{STPush(str,*s);}else//尝试和右括号匹配{//为 0 时返回 true然后执行if返回false匹配失败if(STEmpty(str))//经过前面的匹配后此时栈为NULL了但是*s 还有数据{STDestroy(str);return false;}char top STTop(str);//不管取没取到先Pop如果匹配成功就正常往下走STPop(str);//不匹配的情况不匹配直接返回if(top ( *s ! ) ||top [ *s ! ] ||top { *s ! }){//销毁空间并返回STDestroy(str);return false;}}s;//找下一个元素}//返回值为false说明有栈内有数据但是前面while已经结束没有字符可以匹配了//意味着左括号比右括号的多 只要不匹配就返回falsebool ret STEmpty(str);STDestroy(str);return ret;//正常返回 } 3.用队列实现栈   - 快速传送 传参部分要注意这个MyStack结构体里装着两个队列这里要传(que-q1)或者que-q1因为这是两个结构体改变结构体需要结构体指针Create部分首先需要给MyStack(匿名结构体)开辟空间这里他让我们初始化两个队列并且完成初始化这部分就直接调用函数即可。 3.1 核心思路 核心思路插入数据时始终插入到有数据的队列去始终要空出一个队列用来删除 Push实现栈的后进后出第一次开始数据随便放后面插入数据要放到有数据后 QueueEmpty这个函数为NULL返回true(表示没有数据)反之返回false说明此时有数据注意取反将结果取反此代码中有数据返回false取反后得到truePop这里利用假设法先假设q1有数据假设失败那就是q2这里的if判断同样用判空来判断是否有数据 这里while里面就是挪动数据了 此时你需要取到头元素挪动size - 1个数据留一个在que1里面pop掉就模拟了栈的出栈QueuePop(NoEmpty);//只是被导到Empty原空间还有数据所以要Pop掉已经导过去的数据这里根据题目要求要保存数据然后要pop掉这块空间最后返回该值 Top,取栈的top元素也就是队列的尾元素当然这个尾元素也是需要看数据在哪一边同样的配方判NULLEmpty栈的判NULL竟然是由两个队列组成自然也就需要两个都为NULL才行 也是运算符同时为NULL返回true这里的free要了解结构体开始初始化是什么你就怎么销毁这里销毁时候先后顺序的不能直接销毁obj而是要先销毁obj里面两个的q1和q2才行 3.2代码部分上面是思路 typedef struct {Queue q1;Queue q2; } MyStack;MyStack* myStackCreate() {MyStack* que (MyStack*)malloc(sizeof(MyStack));QueueInit((que-q1));//通过结构体指针访问到q1用初始化函数直接初始化QueueInit((que-q2));return que; }void myStackPush(MyStack* obj, int x) {//obj 是装着q1 和 q2两个结构体的//分为两种情况那个后面有数据有往哪里放都没有随便放一个if(!QueueEmpty((obj-q1)))//如果q1这个队列有数据返回false! 取反后true执行if{QueuePush((obj-q1),x);}//obj-q2有数据或者都没有else{QueuePush((obj-q2),x);} } int myStackPop(MyStack* obj) {//假设法,因为当一方成立是双方代码一样Queue* Empty (obj-q1);//假设p1没数据 Queue* NoEmpty (obj-q2);//有数据if(!QueueEmpty((obj-q1)))//非NULL有数据;假设失败{Empty (obj-q2);NoEmpty (obj-q1);}while(QueueSize(NoEmpty) 1)//有数据的一方需要导到无数据的一方个数size - 1{QueuePush(Empty,QueueFront(NoEmpty));//取到有数据的队头导到无数据的一方QueuePop(NoEmpty);//只是被导到Empty原空间还有数据所以要Pop掉已经导过去的数据}QuDataType ret QueueFront(NoEmpty);QueuePop(NoEmpty);return ret; }int myStackTop(MyStack* obj) {if(!QueueEmpty((obj-q1)))//此时q1有数据,直接取到队列的队尾{return QueueBack((obj-q1));}else{return QueueBack((obj-q2));} }bool myStackEmpty(MyStack* obj) { //只有这两个队列同时为NULL才说明没数据了;满足两个判空都为NULL才会返回true也相当于是运算符return QueueEmpty((obj-q1)) QueueEmpty((obj-q2)); }void myStackFree(MyStack* obj) {QueueDestroy((obj-q1));//首先要free掉q1和q2 这两个队列然后才是objQueueDestroy((obj-q2));free(obj); } 4.用栈实现队列  - 快速跳转 此题创建两个栈来实现stpush只入数据相当于入队stpop只出数据相当于出队Create首先是初始化MyQueue 里面放上两个栈栈也初始化Pushpush数据那么调用栈的push函数即可注意STPush只用来放数据Peek返回开头元素把数据都导到stpop这样刚好压栈的元素就在栈顶 要让这里的stpop没有数据才能导入进去只要stpop有数据就不要进因为要始终保持队列的先进先出假如stpush的数据导过来不就乱了如果没进if说明有数据那就不要导到stpop了这里用动图说明原因只有stpop数据出完才进数据 Pop删除队列开头的数据并返回元素这里为什么调用一下myQueuePeek函数呢 因为我们拿数据始终在stpop拿那么stpop没数据自然要导有了数据直接取头元素删除返回即可Empty判断是为NULL因为这个是模拟是队列的功能所以两个都要为NULLFree怎么申请的空间怎么倒着销毁和队列实现栈的销毁逻辑一样 4.1这里用c语言实现的所以要复制一个栈 typedef struct {ST stpush;//入队ST stpop;//出队 } MyQueue;MyQueue* myQueueCreate() {MyQueue* obj (MyQueue*)malloc(sizeof(MyQueue));STInit((obj-stpush));STInit((obj-stpop));return obj; }void myQueuePush(MyQueue* obj, int x) {STPush((obj-stpush),x);//stpush只入数据 }int myQueuePeek(MyQueue* obj) {if(STEmpty((obj-stpop)))//pop这边栈没数据就要导入数据{while(!STEmpty((obj-stpush)))//push有数据就到导{int top STTop((obj-stpush));STPush((obj-stpop),top);STPop((obj-stpush));//数据挪到那边就要删除了}}return STTop((obj-stpop)); } int myQueuePop(MyQueue* obj) {int front myQueuePeek(obj);//stpop这边有数据才能删如果不用调整刚好也拿到了STPop((obj-stpop));return front; }bool myQueueEmpty(MyQueue* obj) {return STEmpty((obj-stpush)) STEmpty((obj-stpop));//两个都为NULL才为NULL }void myQueueFree(MyQueue* obj) {STDestroy((obj-stpush));STDestroy((obj-stpop));free(obj); } 5.带环队列 - 快速跳转 Create这个部分就是初始化了需要开辟两个空间一个是MyCircularQueue结构体的另外一个就是arr 数组的IsEmpty判NULL 多开一块空间的意义是防止head tail时不知道是满还是NULLIsFull判满 EnQueue向循环队列插入一个元素在开始之前肯定要判断是否为满满了就不能插入了 DeQueue从循环队列中删除一个元素在开始之前要判NULL不然你删个屁 Front开始之前肯定要判NULLhead位置的数据没啥问题直接取到就行特殊情况在tail因为指向下一个Rear取尾的数据普通情况正常取特殊情况就是有效数据正好是最后一个当tail指向下一个位置(也就是下标0) typedef struct {int* arr;int head;int tail;int k; } MyCircularQueue;MyCircularQueue* myCircularQueueCreate(int k) {MyCircularQueue* Cqueue (MyCircularQueue*)malloc(sizeof(MyCircularQueue));if(Cqueue NULL){perror(malloc Cqueuq);return 0;}//多开辟一个空间防止假溢出,这里不需要临时变量也和数据丢不丢是没关系Cqueue-arr (int*)malloc(sizeof(int) * (k 1));Cqueue-head Cqueue-tail 0;//刚开始都指向下标0Cqueue-k k;return Cqueue; } bool myCircularQueueIsEmpty(MyCircularQueue* obj) {return obj-head obj-tail;//判断当前存储的位置是否为NULL }bool myCircularQueueIsFull(MyCircularQueue* obj) {return ((obj-tail 1) % (obj-k 1)) obj-head;//满了返回true }bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {if(myCircularQueueIsFull(obj))//判满return false;obj-arr[obj-tail] value;obj-tail;obj-tail % (obj-k 1);return true; }bool myCircularQueueDeQueue(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))//判NULLreturn false;obj-head;obj-head % (obj-k 1);return true; }int myCircularQueueFront(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return -1;elsereturn obj-arr[obj-head];//取当前数据 }int myCircularQueueRear(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return -1;elsereturn obj-arr[(obj-tail - 1 obj-k 1) % (obj-k 1)]; }void myCircularQueueFree(MyCircularQueue* obj) {free(obj-arr);free(obj); } free空间的销毁就是怎么申请怎么销毁假如先申请的obj后申请的obj-arr;那么就反着销毁 总结 最近改变了一下学习方式上完课要及时写作业而且要独立完成效果最好反正都这么菜了多进步一点也算好的总之不能止步不前

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86165.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

淘宝客采集网站建设兰溪市城乡建设局网站

文章目录 IO和NIO的区别BIO,NIO,AIO 有什么区别?Files的常用方法都有哪些? 今天来对java中的io, nio, bio, aio进行了解,有何区别。 IO和NIO的区别 NIO与IO区别 IO是面向流的,NIO是面向缓冲区的Java IO面向流意味着每次从流中读一个或多个字…

免费企业网站建设word网站建设需要提供的资料

随着消费者的需求提升,啤酒行业向高端化发展,其中知名度较高的百威亚太、华润啤酒、青岛啤酒、燕京啤酒、嘉士伯等品牌在高端市场持续鏖战,实际成果如何也可以从业绩一探究竟。 以百威亚太为例。8月3日,百威亚太发布2023年上半年…

万维网包括哪些网站产品单页营销型网站模板

1 react-router 是什么 react-router等前端路由的原理大致相同,可以实现无刷新的条件下切换显示不同的页面 路由的本质就是页面的URL发生改变时,页面的显示结果可以根据URL的变化而变化,但是页面不会刷新 因此,可以通过前端路由可…

1150网站建设服务器主板动漫设计专业好不好

信源/信道编码的目的和种类? 这个图是每个人在学习通信原理的时候,都会遇到的图。包含了三要素:信源、信道和信宿。这个图直接可以回答最开始的问题,所谓信源编码就是针对信源编码,所谓信道编码就是针对信道编码。 有…

昆明网站建设设计深圳优化公司公认安高粱seo

c 引用 引用的概念 应用不是重新去定义一个变量,而是给变量取别名。 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空 间,它和它引用的变量共用同一块内存空间 比如: int a…

做网站有什么注意事项wordpress文章折叠

一直以来总是弄不明白,蝶泳手外划的作用,以及正确的外划动作,请指教。”我:先上两个图,您自己分析一下:我:蝶泳的划手路线和打腿的幅度和力度是相匹配的,如果打腿幅度小频率快&#…

京润珍珠企业网站优化寓意八方来财的公司名字

中国的茶文化:历史、传统与生活 一、引言 茶,这一神奇而古老的饮品,与中国的历史、文化和生活方式紧密相连。中国的茶文化,源远流长,博大精深,是中华文明的重要组成部分。它不仅是一种饮料,更是…

贵州 网站建设找人做网站注意哪些

准备工作 这里我们准备了两个与数据库表对应的实体类,stu为学生表,cls为班级表 类属性上的注解如 TableId等 为Mybatis-Plus的注解,使用mybatis会无视掉这些注解 在Stu 类的最后一个属性我们定义了Cls实体类的对象,对于单表查询&…

设计网站考虑哪些因素济南外贸建站

Flink系列之:Table API Connectors之Raw Format 一、Raw Format二、示例三、Format 参数四、数据类型映射 一、Raw Format Raw format 允许读写原始(基于字节)值作为单个列。注意: 这种格式将 null 值编码成 byte[] 类型的 null。这样在 ups…

网站建设及推广费用网站建设维护公司排名

我把400个无活性的小分子(decoys)提交到pharmit里。 命名为decoyset00~decoyset08,查找时,按这个找。 1、导入药效团配体: 进入药效团筛选界面: 导入代表药效团模型的活性肽构象: 2、选择预先…

网站开发逻辑图保洁公司开发app

kaggle加载训练好的模型 问题 已经在kaggle平台保存了(保存在电脑本地)一个自己训练好的模型,然后如何在一个新建的notebook中使用自己训练好的模型呢 解答 先确定自己使用了哪个框架的模型(keras,pytorch,timm等)…

没有网页快照对网站有什么影响公司简介网站怎么做

本文又名《对JVM一窍不通的我快速开始排查应用内存问题》。主要系统性地整理了排查思路,为大家遇到问题时提供全面的排查流程,不至于漏掉某些可能性误入歧途浪费时间。 基本原则 由于本文的定位是Cookbook,基本原则是让整个流程能够系统化规范化的同时将…

网站正在建设中源码黑龙江省住房和城乡建设信息网

磁力链接是什么东西?在日常生活中,我们接触的比较多的下载链接是直链。 所谓的直链简单来说就是直接指向服务器文件资源的链接,如B站app的下载链接,这种链接有统一的服务器提供保障,通常比较稳定,可以追溯源…

做电脑网站宽度开发语言

TikTok企业认证是TikTok平台用来验证账号真实性和权威性的方式。通过企业认证之后,企业能在TikTok上获得官方标识,可以增强品牌的专业形象,也有利于提升用户对企业内容的信任度。而且通过TikTok企业认证还可以解锁高级功能,如数据…

建设厅网站账户名忘记了怎么办软件外包公司绩效考核

题目链接:210. 课程表 II 题目描述: 现在你总共有 numCourses 门课需要选,记为 0 到 numCourses - 1。给你一个数组 prerequisites ,其中 prerequisites[i] [ai, bi] ,表示在选修课程 ai 前 必须 先选修 bi 。 例如…

网站建设开票分类编码whois skxy wordpress

React 进阶阶段学习计划 目标 掌握自定义Hooks的创建和使用。深入理解上下文(Context)和Redux的高级用法。学会服务端渲染(SSR)。深入探讨性能优化技巧。 学习内容 自定义Hooks 创建和使用自定义Hooks 自定义Hooks&#xff1…

怎么登录企业网站asp做的网站怎么运行

问题: 我尝试从一个Git公共仓库克隆项目,但出现了这样的错误提示:“git: command not found”。 请问我该如何在某某发行版上安装Git?Git是一个流行的开源版本控制系统(VCS),最初是为Linux环境开发的。跟CVS或者SVN这些版本控制系…

哪个网站做贷款推广水产网站源码

2024年01月16日,智谱AI首届技术开放日(Zhipu DevDay)在北京中关村国家自主创新示范区展示中心成功举办。现场,智谱AI团队全面展示了其投身于大模型事业三年多来所积累的技术成果,并重磅发布了新一代基座大模型GLM-4。 此次GLM-4的发布及上线&…

建设网站需要给钱吗top wang域名做网站好

7-1找到出勤最多的人 根据教师的花名册,找到出勤最多的人。 输入格式: 出勤记录单行给出,数据直接使用空格分割。 输出格式: 单行输出(若有多人,人名直接使用空格分割,结尾处没有空格)。 输入样例: 在这里…

免费视频模板网站WordPress用AFC制作主题

cstdio,在C语言中称为stdio.h。该库使用所谓的流与物理设备(如键盘、打印机、终端)或系统支持的任何其他类型的文件一起操作。 在本文将会通过介绍函数参数,举出实际的简单例子来帮助大家快速上手使用函数。 目录 一、流 二、库函数 1、F…