挂羊头卖犬肉
挂羊头卖犬肉
挂羊头卖狗肉的人
关注数: 104
粉丝数: 398
发帖数: 4,246
关注贴吧数: 63
最大堆能实现同优先级先入先出吗 RT,采用完全二叉树实现的那种最大堆。 还有一个问题就是,既然最大堆不能实现同优先级的先入先出,那么它存在的意义是什么呢?
二叉树知道前序和后续可以唯一确定这个树的形状吗? RT,网上有人说可以,有人说必须知道中序+前序/后续其中一个才可以,求吧里大神指点下
写了一上午的二叉树 中序、前序、后序遍历 还是用递归写的,现在还没写完,在吧里什么水平?
求问 递归函数的可用性 和 程序中函数栈的大小 今天在一个博客上看到:“递归算法由于容易造成栈的移除,一般不要使用”。 请问吧里的大神两个问题: ①、大家在正规场合编写程序,一般会使用递归吗?是不是要尽量避开呢? ②、在代码中调用函数的时候,所说的 压栈和出栈操作 对应的栈一般是多大呢?在windows程序设计中使用CreateThread开一个新线程的时候,要在参数中指定栈的大小,请问扎个栈和调用函数的时候的压的栈有什么关系呢?
程序设计签到排名:本吧昨日第 3 名,稳居前三不容易啊不容易,… 求问第一名和第二名分别是哪两个吧,难道是JAVA和C?
优先级队列一般如何实现 打算写个优先级队列,使用双链表来实现。每个节点包含的数据位一个int优先级数和一个数值,然后每存入一个队员的时候,遍历一下这个链表,插入到恰当的位置。取出的时候直接从头开始取就可以了。 大家觉得这么写执行效率是不是有点过低了,有其他神马效率高一些的方法吗?
刚入了一本 C++标准程序库 一看一共800页,吓尿了,这怎么看得完呐
刚成功实现了 栈 和 环形队列 我会到处去跟别人说 吗? 另外,求问我的stack的构造函数是 stack<T>::stack(int maxnumber1) { root=new T[maxnumber1]; maxnumber=maxnumber1; top=-1; } 在主函数中调用stack<char> s(100); 的时候,调试运行发现在堆上申请的缓冲区为100个字节的“屯屯屯屯屯屯屯屯屯屯屯屯屯屯...”,求问如果我想把这个缓冲区初始化为“0000000..”应该怎么做呢? 我尝试使用了memset(s,0,100);程序报错了,然后使用memset((char *)s,0,100),还是报错,跪求大牛帮助该怎么做。
尝试写了个栈 报错,跪求大神帮助 栈的头文件: template <class T> class stack { public: stack(int maxnumber1); //构造函数 ~stack(); bool isempty(); bool isfull(); bool push(T x); T pop( ); T *root; private: //栈的私有数据成员 int maxnumber; //栈中最多有多少个数据成员 ,关系到在堆上开辟的缓冲区的大小 int top; //栈顶位置 }; template <class T> stack<T>::stack(int maxnumber1) { root=new T[maxnumber]; maxnumber=maxnumber1; top=-1; } template <class T> stack<T>::~stack() { delete []root; } template <class T> bool stack<T>::isempty() { if(top==-1) return true; else return false; } template <class T> bool stack<T>::isfull() { if(top==maxnumber-1) return true; else return false; } template <class T> bool stack<T>::push(T x) { if(!isfull()) { top=top+1; root[top]=x; return true; } else return false; } template <class T> T stack<T>::pop( ) { top=top-1; return root[top+1]; }
写一个中序表达式转后续表达式的程序2个小时还没写出来 我是不是应该果断放弃IT这条路了
类模板问题,请使用GCC的coder过来回答 我在使用VS2008定义一个类模板的时候,不仅要在class stack前面加上template <class T>,而且在类外定义这个类的每个成员函数前都要加上template <class T>,否则就会报错。 求问GCCER,使用GCC定义一个模板类的时候,是不是也有这个问题呢?
一段测试srand()函数和rand()函数的代码 #include <stdlib.h> #include <stdio.h> #include <time.h> #include <iostream> using namespace std; #define mount 100000 int main( ) { int i; int a[mount]; /* Seed the random-number generator with current time so that * the numbers will be different every time we run. */ srand( (unsigned)time( NULL ) ); // srand(1); /* Display 10 numbers. */ for( i=0;i <mount;i++ ) { a[i]=rand()%2; } int odd=0; int even=0; for(i=0;i<mount;i++) { if(a[i]==0) even++; else odd++; } cout<<"偶数 : "<<even<<endl; cout<<"奇数 : "<<odd<<endl; return 0; } 生成了10万个随机数,测试结果 偶数50064个,奇数49936个,误差在1%, 我又相信爱情了~
由10以内的随机整数如何得到6以内的随机整数 假如有函数: int ramd10(),返回值是 0 1 2 3 4 5 6 7 8 9 这其中的一个整数,且取每个整数值的几率相等。 现在问题是,如何由ramd10()这个函数得到函数int rand6(),使这个函数的返回值为 0 1 2 34 5其中的一个,且取每个值的几率相等。
明明没有23cm,称谓却是“亮出23cm” 我好惭愧~
刚刚自写了一遍KMP算法,测试成功了 难道我会到处去跟别人说
求SQL SERVER 2005 入门教程,书或者视频 推荐 RT,求推荐。
请教一个WINDOWS API编程问题 最近在用windows API编程,碰到了一个问题,请教下大家: 在WinMain函数中,使用DialogBox函数产生一个对话框,然后在资源窗口的对话框上添加了几个控件,主要是有一个组框,因为VS2005里面组框比较好看。 现在我想在组框上输出一个矩形,使用FillRect函数,可是,windows API 编程里对WM_PAINT消息的响应函数初始时空的,也就是 VS 隐藏了绘制控件的过程。现在我想在组框上面绘图,必须要等到系统绘制完成组框之后才行。假如我直接绘制,我试过了,在WM_PAINT的响应函数里面绘制,结果就是绘制出来的图形被控件挡住了 请问吧里的各位大牛,这个问题有解决办法吗? @candy76041820
求问如何创建一个带有 最大化 和 最小化 的基本对话框 RT
弗爵爷可以安心地退休了 RT
弗爵爷可以安心地退休了 RT
预测今晚比分 托妞两球,梅西头球进一个,比分2:1,总比分3:1
我水了好几天还是差25经验到8级,求帮助 ,大家要是不帮我我只好一直水下去了
DateTimePicker.OCX谁有,求一个
项目做不出来,刚去图书馆借了5本MFC的书,在吧里什么水平
求问这段话靠谱吗 在16位Windows中是有区别的,因为在16位windows用一个全局堆和局部堆来管理内存,每一个应用程序或dll装入内存时,代码段被装入全局堆,而系统又为每个实例从全局堆中分配了一个64kb的数据段作为该实例的局部堆,用来存放应用程序的堆栈和所有全局或静态变量。而LocalAlloc/GlobalAlloc就是分别用于在局部堆或全局堆中分配内存。 由于每个进程的局部堆很小,所以在局部堆中分配内存会受到空间的限制。但这个堆是每个进程私有的,相对而言分配数据较安全,数据访问出错不至于影响到整个系统。 而在全局堆中分配的内存是为各个进程共享的,每个进程只要拥有这个内存块的句柄都可以访问这块内存,但是每个全局内存空间需要额外的内存开销,造成分配浪费。而且一旦发生严重错误,可能会影响到整个系统的稳定。 不过在Win32中,每个进程都只拥有一个省缺的私有堆,它只能被当前进程访问。应用程序也不可能直接访问系统内存。所以在Win32中全局堆和局部堆都指向进程的省缺堆。用LocalAlloc/GlobalAlloc分配内存没有任何区别。甚至LocalAlloc分配的内存可以被GlobalFree释放掉。所以在Win32下编程,无需注意Local和Global的区别,一般的内存分配都等效于HeapAlloc(GetProcessHeap(),...). new是一个宏, 调用new,相当于先用malloc,分配内存,然后嗲用类的构造函数,初始化这段内存
孙鑫VC视频 第18讲 这一讲使用VB来测试VC编写出来的Active X控件,可是我一点VB的基础都木有,VB的开发IDE也木有,求问该肿么办呢? 还有,对于一个完全木有VB基础的人来说,本讲内容能听得懂吗?我还要继续往下听吗?跪求指点
会使用互斥对象来解决多线程编程问题了,在吧里属于什么水平? RT
多核CPU的问题 现在的CPU动不动就是双核,4核的,如果4核CPU的话,这4个CPU是作为一个整体提供一套微指令集供程序员使用还是采用其他方式呢? 试想如果编写裸机的多核CPU程序,是怎样运行的呢?求指点
windows 多线程求助 代码如下: #include <windows.h> #include <iostream.h> DWORD WINAPI thread1proc( // //lpParameter是命令行参数,类似argc、argv LPVOID lpParameter // thread data ); int main() //本函数是本程序主线程的入口点函数 { HANDLE h1; h1=CreateThread(NULL,0,thread1proc,NULL,0,NULL); //新创建一个线程,不允许子进程继承本线程返回HANDLE,线程栈大小设置为与主线程相同 //新线程的入口点函数为threadfunction1、新线程的入口点函数不带参数、新线程立即被运行、不返回新线程标识符 CloseHandle(h1); cout<<"main thread is running"<<endl; Sleep(1000); return 0; } DWORD WINAPI thread1proc( // //lpParameter是命令行参数,类似argc、argv LPVOID lpParameter // thread data ) { cout<<"thread1 is running"<<endl; return 0; }
职业伸手党现身 孙鑫老师的VC教程中写道:系统赋予每个进程独立的虚拟地址空间。对于“32位进程”来说,这个地址空间是4GB。 请问各位大神,这句话中的“32位进程”指的是操作系统的位数吗?也就是说如果程序运行在64位的win7当中,每个进程的可以使用的虚拟地址空间是64位吗?
SOCKET编程中,TCP模式下一次send最大可以发送多大数据?还有recv? 如题,SOS
今天的报道帖 马上要写一个网络编程,服务器/客户模式,首先读取一幅服务器电脑上的1000万象素的图片到内存上,然后把数据一点一点发到客户机,然后存储到客户机的硬盘上。 大家有什么建议吗?
我发的求助贴被删了,请吧务给个解释吧 RT
求问防止度娘吃代码中回车空格的方法? RT,紧急SOS中
accept函数不堵塞,大家帮我找找原因吧 代码如下:win32控制台程序工程 #include "winsock2.h"#include "stdio.h"#pragma comment (lib,"WS2_32.LIB") int main(){ WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 2, 2 ); err = WSAStartup( wVersionRequested, &wsaData ); if ( err != 0 ) { return 0; //如果WSAStart函数调用失败,main函数直接就返回了呀亲 } if ( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 2 ) //如果程序使用的不是winsock 2.2版本,main函数也直接返回啊亲 { //两个宏LOBYTE 和HIBYTE,以及MAKEWORD WSACleanup( ); //这里由于WSAStartup函数已经执行成功了,因此终止程序前要先清理本程序winsock资源 return 0; } SOCKET s1; //定义一个服务器SOCKET // s1=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); //这里第一项设定了使用TCP/IP协议,第二项设定了使用TCP而不是UDP s1=socket(AF_INET,SOCK_STREAM,0); if(s1==INVALID_SOCKET) //调用socket 函数没错 return 0; SOCKADDR_IN addr1; //定义一个IP地址,用于和服务器SOCKET绑定 addr1.sin_family=AF_INET; //设定本IP地址的地址族为 TCP/IP协议 addr1.sin_addr.S_un.S_addr=htonl(INADDR_ANY); //这里是将s1与本机IP"192.168.0.1"绑定,实际程序当中一般直接将本行写为 //addr1.sin_addr.S_un.S_addr=htonl(INADDR_ANY); addr1.sin_port=htons(8800); //1024以下的端口号为系统保留使用,我们自己用的时候只要用1024以上的即可 //如果我们在同一台电脑上开了两个服务器端程序,这里绑定的端口号相同,或者是端口号同另外一个进程ID相同,
求助 :文本文件和二进制文件到底有什么区别 请大牛来判断我下面的说法是否准确: 比如,一个十进制整数12345,在内存中的存放形式是:(从高位到低位4个字节) 00000000 00000000 00110000 00111001 将这个数字以文本文件的方式存入文本文件中,代码如下: int x=12345; FILE *p=fopen("2.txt","w"); fwrite(&x,4,1,p); fclose(p); 然后使用ultraedit查看2.txt文件,以16进制形式显示,其为39 30 0 0,这个正好是12345在内存中4个字节数字的从低位到高位排列 然后使用2进制文件的方式将x写入到二进制文件中: int x=12345; FILE *p=fopen("2.txt","wb"); //这儿以二进制方式打开 fwrite(&x,4,1,p); fclose(p); 然后使用ultraedit查看2.txt文件,以16进制形式显示,结果依然是39 30 0 0. 那么二进制文件和文本文件究竟有什么区别呢? 比如内存中一段数据,将每个字节作为一个单位存放在磁盘的一个字节中,和将每位作为一个单位存放在磁盘的一个位中(二进制文件是内存的原样复制),究竟有什么区别呢?我咋感觉内存中同一段数据不管是以文本文件还是以二进制文件写入到硬盘中,其文件中的数据木有区别呢? 求大牛拍醒!
秀下身高 本吊丝穿鞋能过170,在D8能否进前10%?
真吊丝的口头禅 “随便”,因为吊丝不敢有所追求
俺发现跑车 谁能猜出来这句话是什么意思?有奖
吊丝们更怕听到啪啪啪啪还是嗒嗒嗒嗒
盘点武汉的吊丝去大排档必点的三道菜 3-4个人去吃,一共点三个菜: 水煮肉片 麻婆豆腐 鱼香肉丝 都是便宜,下饭的菜,再对着老板(抵挡大排档请不起服务员)喊句:“上三盆饭”,然后每人分一大盆。 武汉排挡米饭不要钱,这样每个人8块左右,可以吃到胀肚子出来,想想第二天的早饭和中饭又省了。 中了的吊丝点个 “中”!
大头这二B又申请了一张黄牌 CTMD
贴吧里的那个“发代码防度娘吃空格助手”谁写的啊,再发下 RT,不然发代码好不方便啊!
围观炮姐
我回来了 清华版(金远平 著)的数据结构快看完了,例题看懂了,课后习题还没做,在吧里是什么水平?
水水水水水水水水水水水水水水水水水水水水水水水水 吼一句:数据结构好难啊
刚看到的一句话直接让本吊默泪了,给吊丝们分享 报纸上的一个标题:“是单身选择了你还是你选择了单身”,各位吊丝有何感想?
刚看到的一句话直接让本吊默泪了,给吊丝们分享 报纸上的一个标题:“是单身选择了你还是你选择了单身”,各位吊丝有何感想?
刚看到的一句话直接让本吊默泪了,给吊丝们分享 报纸上的一个标题:“是单身选择了你还是你选择了单身”,各位吊丝有何感想?
刚看到的一句话直接让本吊默泪了,给吊丝们分享 报纸上的一个标题:“是单身选择了你还是你选择了单身”,各位吊丝有何感想?
求助--安装xp和ubuntu双系统最开始的xp下分区 我的电脑现在装得是xp系统,想分70G空间出来安装linux。可是悲剧的是下载到得安装教程里面讲的把70G的磁盘空间从xp中划分出来用的是磁盘分区魔法师,而我用的thinkpad的笔记本上运行这个软件就会报错。 所以现在来求问吧里的前辈,如果我用xp自带的磁盘划分工具,划出来的空间安装linux,会不会出现之前在一些帖子里面看到的 不能把这部分磁盘空间从 XP的扩展空间里面划分出去,从而导致使用XP的时候电脑变卡呢?如果可以使用,求详细步骤
目测吧里一位大牛最近在闭关
哇哈哈哈哈,核心会员 刚发现的,,我要继续努力了
getmessage(&msg,NULL,0,0) 求助 一个消息循环 MSG msg; while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } 当消息队列为空的时候getmessage怎么办呢?比如开了一个窗口,然后鼠标也不懂,键盘也不动,执行while(GetMessage(&msg,NULL,0,0))是神马样子呢?求解释
c语言的库函数需要系统的学习吗 刚看孙老湿的VC视频,用到了sprintf函数,发现以前完全没见过它。 弱问吧里学过VC的大牛,对于C语言的库函数,需要系统的学习吗?如果想做游戏方面的话
一个递归程序的复原问题,有人有耐心帮我找吗? #include <iostream> using namespace std; int main() { void subclass(char *a,const int n); char a[4]={'a','b','c','d'}; subclass(a,4); for(int i=0;i<4;i++) //输出调用函数后的a[4],检查函数复原的正确性 cout<<a[i]; cout<<endl; return 0; } void subclass(char *a,const int n) { if(n==2) //n=2时终止递归 {cout<<a[0]<<endl; cout<<a[1]<<endl; } else for(int i=0;i<n;i++) //剔除掉第i个元素,先输出,再往下递归 {for(int j=0;j<n;j++) if(j!=i) cout<<a[j]; cout<<endl; char temp=a[i]; //将a[i]挖掉,后面的前移一位 for(j=i;j<n-1;j++) a[j]=a[j+1]; subclass(a,n-1); for(j=i+1;j<n;j++) //从a[i]开始后移一位,复原a[i] a[j]=a[j-1]; a[i]=temp; } }
阿克曼函数求助 Ackermann函数定义如下: 若m=0,返回n+1。 若m>0且n=0,返回Ackermann(m-1,1)。 若m>0且n>0,返回Ackermann(m-1,Ackermann(m,n-1)) 我的代码: #include <iostream> using namespace std; int main() { int ack(int m,int n); int m=4,n=4; int t=ack(m,n); cout<<t<<endl; return 0; } int ack(int m,int n) { if(m==0) return(n+1); else if(n==0) return(ack(m-1,1)); else return(ack(m-1,ack(m,n-1))); } 为神马我m=1,n=1 m=2,n=2 m=3,n=3 都可以计算,到m=4,n=4的时候就比给算了,停顿一会直接来个 “press any key to continue”,这个计算量也不大呀,难道是电脑抗议了? 求大牛指点
果断入手孙鑫vc++深入详解 不解释,你们嫉妒吧
明晨2:45狗咬狗,大家希望那只狗赢? 请大家踊跃发言
明天就开始看MFC了,求推荐教材或视频 RT,等待中
首页
1
2
3
下一页