使用antlr规则引擎解析sql成对象.里面只有查询语句,但是也预留了update,delete,insert等语句的接口.可以非常方便的扩展
2025/3/28 22:38:37 2.19MB antlr sql 解析 算法
1
1.虚函数是可以[New一个对象的时候要根据虚函数的函数体来填虚表;
而内联函数没有函数体,只是在预编译阶段展开]内联的,这样就可以减少函数调用的开销,提高效率(错误)2.一个类里可以同时存在[同一个类里无论什么函数都不能函数名和参数完全一样]参数和函数名都相同的虚函数与静态函数(错误)3.父类的析构函数是非虚的,但是子类的析构函数是虚的,delete子类指针(指向该子类对象)[特殊情况,参见题5],会调用父类的析构函数(正确)//任何情况下删除子类都会调用到父类的析构函数4.对于下面的类CA,sizeof(CA)=_B_:A.4B.8C.12D.16classCA{public:CA();virtual~CA();//因为有虚函数,所以会有4个字节的虚表指针private:intm_iTime;//成员变量4个字节public:intGetTime();intSetTime(intiTime);};5.下面这段程序,打印结果是_A_:A.1B.2C.3D.以上都不对intg_iCount=0;classCParent{public:CParent(){}~CParent(){g_iCount+=1;}};classCSon:publicCParent{public:CSon(){}~CSon(){g_iCount+=2;}};main(){CParent*p=newCSon();deletep[由于p被声明成父类指针,并且父类和子类的析构函数都非虚,因此delete操作只能根据p指针声明的类型来调用父类的析构函数];std::coutPrint();[由于父类和子类的Print函数都非虚,所以根据指针类型决定调用关系]}8.请问下面这段程序的输出结果是_C_:A.2,1,B.2,2,C.1,2,D.1,1,classCP
2025/3/28 16:17:55 392KB 华为 C++ 笔试题
1
第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。

  第二个模块——Menu()的功能是:显示提示选单。

  第三个模块——Quit()的功能是:退出选单。

  第四个模块——Create()的功能是:创建新的数据记录。

  第五个模块——Add()的功能是:增加新的数据记录,并返回选单。

  第六个模块——Find()的功能是:按要求查询相关的信息,如果找到了,则显示该信息,如果未找到,则提示文件中没有该信息,并返回选单。

  第七个模块——Alter()[的功能是:修改某条记录的信息,如果未找到要修改的记录,则提示系统中无此记录,并返回选单。

  第八个模块——Delete()的功能是:删除某条记录,如果未找到要删除的记录,则提示通讯录中没有,并返回选单。

  第九个模块——List()的功能是:显示所有记录。
一、用链表或者顺序表实现以下系统,完成线性表的建立(至少包括10个结点),以及线性表中信息(结点)的插入、查找、删除、修改、输出等操作,具体的模块要求见上方的“总的模块要求”。
建议用“文件”存储数据。
1.通讯录管理系统的设计与实现(1)通讯者信息包括:编号(charnum[10])、姓名(charname[10])、性别(charsex[10])、电话(charphone[20])(2)除了总的模块要求外,还需统计通讯录中男性人数及女性人数,并求出通讯录中的第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。

  第二个模块——Menu()的功能是:显示提示选单。

  第三个模块——Quit()的功能是:退出选单。

  第四个模块——Create()的功能是:创建新的数据记录。

  第五个模块——Add()的功能是:增加新的数据记录,并返回选单。

  第六个模块——Find()的功能是:按要求查询相关的信息,如果找到了,则显示该信息,如果未找到,则提示文件中没有该信息,并返回选单。

  第七个模块——Alter()[的功能是:修改某条记录的信息,如果未找到要修改的记录,则提示系统中无此记录,并返回选单。

  第八个模块——Delete()的功能是:删除某条记录,如果未找到要删除的记录,则提示通讯录中没有,并返回选单。

  第九个模块——List()的功能是:显示所有记录。
一、用链表或者顺序表实现以下系统,完成线性表的建立(至少包括10个结点),以及线性表中信息(结点)的插入、查找、删除、修改、输出等操作,具体的模块要求见上方的“总的模块要求”。
建议用“文件”存储数据。
1.通讯录管理系统的设计与实现(1)通讯者信息包括:编号(charnum[10])、姓名(charname[10])、性别(charsex[10])、电话(charphone[20])(2)除了总的模块要求外,还需统计通讯录中男性人数及女性人数,并求出通讯录中的男女比例。
男女比例。
2025/3/12 8:27:04 5KB Java 数据结构 链表
1
余烬保持按钮按住即可确认ember-cli的按钮,该按钮易于定制。
按住按钮一段指定的时间后,将执行给定的操作(例如,按住以删除)。
安装emberinstallember-hold-button用法开箱即用的按钮有几种。
rectangle,circle和border-circle。
###长方形{{#hold-buttontype="rectangle"action="delete"}}HoldtoDelete{{/hold-button}}圆圈{{hold-buttontype="circle"action="finished"}}边界圈{{hold-buttondelay=800type='border-circle'action='finished'}}
2025/1/29 3:35:39 136KB JavaScript
1
基于netty的轻量级。
单机版.RPC服务框架技术栈JDK1.8净值4.XMariaDB(MySQL)10.4.10Redis5.0.7蒙戈4.0.9支持网络协议HttpWebSocket支持服务定制化对外提供数据接口即时的聊天室(WebSocket)(支持心跳)表格数据上传文件接口下载/预览文件(支持多线程范围,浏览器缓存策略)浏览静态文件资源(支持多线程范围,视频支持快进后退,浏览器缓存策略)作者相关邮箱:非常欢迎该框架有问题的小伙伴发邮件给我,我会给每一封邮件解答问题。
已知错误或使用问题1.对外暴露接口要用post请求+body传递Json参数的方式调用,如果用uri的方式,可能会被识别为静态文件(已解决,现在支持Get,Post,Put,Delete)例如:127.0.0.1:8888/Calendar/rea
116KB Java
1
linux版本和vc++6.0版本含设计报告,流程图等。
设计一个简单的多用户文件系统。
即①在系统中用一个文件来模拟一个磁盘;
②此系统至少有:Create、delete、open、close、read、write等和部分文件属性的功能。
③实现这个文件系统。
④能实际演示这个文件系统。
基本上是进入一个界面(此界面就是该文件系统的界面)后,可以实现设计的操作要求。
1
对即将找工作的大学生,研究生都爱刷leetcode的题目,但是刚刚接受无法适从,或是一时半会儿想不到解法,没关系,leetcode题解PDF可一带你慢慢了解思路过程。
目录3.4Addbinary615.1.5BinaryTreeLevelOr-3.5LongestPalindromicSubstring.62dertraversalil3.6RegularExpressionMatching665.1.6BinaryTreeZigzag3.7WildcardMatching67LevelOrdertraversal.963.8LongestCommonPrefix5.1.7RecoverBinarySearch3.9ValidNumber70Tree983.10Integertoroman725.1.8SameTree3.11RomantoInteger5.1.9SymmetricTree1013.12CountandSay745.1.10BalancedBinaryTree..1023.13Anagrams755.1.11FlattenBinaryTreeto3.14SimplifyPath76LinkedList1033.15LengthofLastWord775.1.12PopulatingNextRightPointersineachnodeii105第4章栈和队列7952二叉树的构建1074.1栈795.2.1ConstructBinaryTree4ValidParentheses79fromPreorderandIn4.1.2LongestvalidParenorderTraversatheses805.2.2ConstructBinaryTree4.1.3LargestRectangleinfromInorderandposHistogram82torderTraversal1084.14Evaluatereversepol-53二叉查找树109ishnotation845.3.1UniqueBinarySearch4,2队列85Trees5.3.2UniqueBinarySearch第5章树86Treesli.1105.1二叉树的遍历865.3.3ValidateBinarySearch5.1.1BinaryTreePreorderTreeTraversal865.3.4ConvertSortedarrayto5.1.2BinaryTreeInorderBinarySearchTreel12Traversal885.3.5ConvertSortedListto5.1.3BinaryTreePostorderBinarysearchtree113Traversal9054二叉树的递归1155.1.4BinaryTreeLevelOr5.4.1MinimumDepthofBidertraversalnarylree115目录5.4.2MaximumDepthofBi8.32重新实现nextpermunaryTree116tation1425.4.3PathSum117833递归.1435.44PathSumil1188.4PermutationsII1445.4.5BinaryTreeMaximum8.4.1nextpermutation...144PathSuum119842重新实现nextpermu5.4.6PopulatingNextRighttation144Pointersineachnode12084.3递归1445.4.7SumRoottoLeafNum8.5Combinations146bers122851递归146852迭代147第6章排序1238.6LetterCombinationsofaphone6.1MergeSortedArray123umber1476.2MergeTwoSortedLists12486.1递归1486.3MergekSortedLists124862迭代96.4InsertionSortList125第9章广度优先搜索1506.5Sortlist1269.1WordLadder1506.6FirstMissingPositive1279.2WordLadderil..1526.7SortColors289.3Surroundedregions154第7章查找94小结15613194.1适用场景1567.1Searchforarange131942思考的步骤.1567.2SearchInsertPosition.13294.3代码模板1577.3Searcha2DMatrix133第10章深度优先搜索162第8章暴力枚举法13510.1PalindromePartitioning..1628.1Subsets13510.2UniquePaths1658.1.1递归1350.2.1深搜1658.1.2迭代.13710.22备忘录法.1658.2Subsetsil13810.23动规166821递归1381024数学公式167822迭代.14110.3UniquePathsIl1688.3Permutations14210.3.1备忘录法1688.3.1nextpermutation14210.3.2动规.169目录10.4N-Queens16913.4Maximalrectangle19910.5N-QueensII17213.5BestTimetoBuyandSellStock10.6Restoreipaddresses17320010.7CombinationSum17413.6InterleavingString20110.8CombinationSumIl17513.7ScrambleString20310.9GenerateParentheses.17713.8MinimumPathSum20810.10Sudokusolver17813.9EditDistance21010.11WordSearch.18013.10DecodeWays.21210.12小结18113.11DistinctSubsequences21310.12.1适用场景1813.12WordBreak21410.122思考的步骤1811313WordBreakil21610.12.3代码模板183第14章图21810.12.4深拽与回溯法的区别.18414.1CloneGraph10.12.5深搜与递归的区别..184第15章细节实现题221第11章分治法18515.1ReverseInteger2211.1Pow(x,n)18515.2PalindromeNumber222qrt(x18615.3InsertInterval223第12章贪心法18715.4MergeIntervals22412.1Jumpgame18715.5MinimumWindowSubstring..22512.2JumpgameIl18815.6MultiplyStrings22712.3BestTimetobuyandsellstock19015.7SubstringwithConcatenation12.4BestTimetobuyandsellstock191ofallwords23012.5LongestSubstringWithoutre15.8Pascal,sTrianglepeatingCharacters19215.9PascalsTriangleIl23212.6ContainerwithmostWater.19315.10Spiralmatrix23315.11SpiralmatrixII234第13章动态规划19515.12ZigZagConversion23613.1Triangle19515.13DivideTwoIntegers23713.2MaximumSubarray19615.14TextJustification23813.3PalindromePartitioningII19815.15MaxPointsonaline目录第1章编程技巧在判断两个浮点数a和b是否相等时,不要用a=-b,应该判断二者之差的绝对值fabs(a-b)是否小于某个阈值,例如1e-9。
判断一个整数是否是为奇数,用x%2!=0,不要用x%2==1,因为x可能是负数用char的值作为数组下标(例如,统计字符串中每个字符出现的次数),要考虑到char可能是负数。
有的人考虑到了,先强制转型为unsignedint再用作下标,这仍然是错的。
正确的做法是,先强制转型为unsignedchar,再用作下标。
这涉及C++整型提升的规则,就不详述了。
以下是关于STL使用技巧的,很多条款来自《EffectiⅤveStL》这本书。
vector和string优先于动态分配的数组首先,在性能上,由于vector能够保证连续内存,因此一旦分配了后,它的性能跟原始数组相当其次,如果用new,意味着你要确保后面进行了delete,一旦忘记了,就会岀现BUG,且这样需要都写一行delete,代码不够短再次,声明多维数组的话,只能一个一个new,例如:int**ary=newint*[row_num];for(inti=0:i<rownum;++1)ary[i]newint[col_num]用vector的话一行代码搞定,vector<vector<int>>ary(row_num,vector<int>(col_num,0))使用reserve来避免不必要的重新分配第2章线性表这类题目考察线性表的操作,例如,数组,单链表,双向链表等。
21数组2.1.1RemoveDuplicatesfromSortedarray描述Givenasortedarray,removetheduplicatesinplacesuchthateachelementappearonlyonceandreturnthenewlengthDonotallocateextraspaceforanotherarray,youmustdothisinplacewithconstantmemoryForexample,GiveninputarrayA=[1,1,2Yourfunctionshouldreturnlength=2,andaisnow[1,2]分析无代码1/LeetCode,RemoveDuplicatesfromSortedArray/时间复杂度0(n),空间复杂度0(1)classSolutiontublicintremoveDuplicates(intA[],intn)tlf(n==oreturnointindex=0:for(inti=1:i<n:i++iif(Alindex!alidA[++index]=Alireturnindex12.1数组代码2//LeetCode,RemoveDuplicatesfromSortedArray//使用STL,时间复杂度0(n),空间复杂度0(1)classSolutionipublicintremoveDuplicates(intA[,intn)treturndistance(A,unique(A,An))代码3/LeetCode,RemoveDuplicatesfromSortedArray/使用STL,时间复杂度0(n),空间复杂度0(1)lassSolutionfublicintremoveDuplicates(intA[],intn)treturnremoveDuplicates(A,A+n,A)-A;template<typenameInIt,typenameoutit>OutItremoveDuplicates(InItfirst,InItlast,OutItoutput)thile(firstlast)i*output++=*firstfirstupper_bound(first,last,*firstreturnoutput相关题目RemoveduplicatesfromSortedArrayIl,见§2.1.22.1.2RemoveDuplicatesfromSortedArrayII描述Followupfor"RemoveDuplicates"Whatifduplicatesareallowedatmosttwice?Forexample,Givensortedarraya=[1,1,1,2,2,3]Yourfunctionshouldreturnlength=5,andAisnow[1,1,2,2,3分析加一个变量记录一下元素出现的次数即可。
这题因为是已经排序的数组,所以一个变量即可解决。
如果是没有排序的数组,则需要引入一个hashmap来记录出现次数4第2章线性表代码1//LeetCode,RemoveDuplicatesfromSortedArrayII/时间复杂度0(n),空间复杂度0(1)//qauthorhex108(https://github.com/hex108)classSolutiontublicintremoveDuplicates(intA[],intn)tlf(n<=2returnnintindex=2for(inti=2:in:1++)if(all]!Alindex-2])ALindex++]=Ali]returnindex;代码2下面是一个更简洁的版本。
上面的代码略长,不过扩展性好一些,例如将occur<2改为ocur<3,就变成了允许重复最多3次。
//LeetCode,RemoveDuplicatesfromSortedArrayII//@author虞航仲(http://weibo.com/u/1666779725)//时间复杂度0(n),空间复杂度0(1)classSolutionipublicintremoveDuplicates(intA[],intn)tmtindex=ofor(intif(i>0&&i<1&&A[i]==A[i-1]&&A[i]==A[i+1])continueAlindex++]=Alireturnindex;相关题目RemoveDuplicatesfromSortedArray,见§2.1.12.1.3SearchinRotatedSortedArray描述Supposeasortedarrayisrotatedatsomepivotunknowntoyoubeforehand
2024/12/7 0:08:16 1.03MB leetcode题解
1
一个命名空间中包含了4个类,实现对SQLServer数据库的select,insert,delete,update操作
2024/12/4 14:05:57 92KB vb.net SQLSe
1
快速实现mfc换肤下面说一下skin++2.0的使用步骤:1、将:SkinPPWTL.h,SkinPPWTL.DLL,SkinPPWTL.lib三个文件放到你的工程目录下面。
2、在你的项目头文件中包含SkinPPWTL.h,一般包含在StdAfx.h文件中;
在项目连接中加入SkinPPWTL.lib链接库3、现在开始使用Skin++实行换肤在你的C**App.cpp文件的开始定义宏:#defineSKINSPACE_T("/SPATH:")在你的InitInstance()函数开始加入以下代码:CStringcmdline=GetCommandLine();intnFind=cmdline.Find(SKINSPACE);if(nFind!=-1){cmdline.Delete(0,nFind+_tcslen(SKINSPACE));if(cmdline.GetAt(cmdline.GetLength()-1)==_T('\"')){cmdline.Delete(cmdline.GetLength()-1,1);}skinppLoadSkin((LPTSTR)(LPCTSTR)cmdline);}else{skinppLoadSkin(_T("skin\\XP-Metallic.ssk"));}其中:skinppLoadSkin(_T("skin\\XP-Metallic.ssk"));用于加载皮肤,根据你皮肤的位置改变路径
2024/10/8 0:02:45 4.96MB skin
1
LinuxFTP客户端是Linux操作系统中用于通过FTP(FileTransferProtocol)协议与远程服务器进行交互的工具。
FTP是一种标准网络协议,用于在Internet上可靠地传输文件。
在这个场景中,我们将探讨如何使用Linux命令行中的FTP客户端来执行文件上传、下载、查看目录以及删除文件夹的操作。
1.**FTP客户端的基本使用**:在Linux中,最常用的FTP客户端是`ftp`命令行工具。
要启动它,只需在终端输入`ftp`并跟随服务器的IP地址或域名。
例如:```ftpexample.com```2.**登录与身份验证**:登录时,通常需要提供用户名和密码。
例如:```用户名:your_username密码:your_password```3.**文件上传**:使用`put`命令将本地文件上传到远程服务器。
假设我们有一个名为`localfile.txt`的文件,要将其上传到远程服务器,执行:```putlocalfile.txt```4.**文件下载**:反之,使用`get`命令下载远程文件到本地。
如果远程服务器上有`remotefile.txt`,我们可以这样下载:```getremotefile.txt```5.**查看目录**:`ls`命令用于查看远程服务器的当前目录,而`ls-l`可以显示详细信息。
如果要查看本地目录,可以使用`!ls`:```ls!ls```6.**切换目录**:使用`cd`命令可以在远程服务器的目录结构中导航。
例如,进入名为`documents`的目录:```cddocuments```7.**创建和删除文件夹**:要在远程服务器上创建新目录,可以使用`mkdir`命令。
创建一个名为`newfolder`的目录:```mkdirnewfolder```删除空目录,使用`rmdir`。
例如,删除`newfolder`:```rmdirnewfolder```8.**删除文件**:使用`delete`或`rm`命令删除远程文件。
例如,删除`remotefile.txt`:```deleteremotefile.txt```9.**退出FTP会话**:结束FTP会话,使用`bye`或`quit`命令:```bye```10.**Passive模式**:有时,由于防火墙或NAT设置,主动模式的FTP可能无法工作。
这时,可以使用被动模式,通过在FTP会话中输入以下命令:```passive```11.**SFTP和SCP**:对于更安全的文件传输,可以考虑使用SSHFileTransferProtocol(SFTP)或SecureCopy(SCP)。
SFTP内置于OpenSSH中,使用`sftp`命令;
SCP则通过`scp`命令进行操作。
以上是Linux环境下使用FTP客户端的基本操作。
了解这些技能后,您将能够有效地在Linux系统中管理和维护远程服务器上的文件。
然而,对于更复杂的任务,如自动化脚本,可能需要学习更高级的FTP命令或者使用图形界面的FTP客户端,如FileZilla。
2024/9/15 19:38:56 625KB ftp客户端 linux
1
共 77 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡