最近在阅读SGI STL源代码,其中红黑树的实现比较有技术含量,但标准库里面是捆绑了其中的allocator, iterator(Rb_tree专用的),使用很多模板变量,实现对多种数据类型的处理。这些情况对于有较扎实C++基础的人来说不成问题,但对于一般初学算法,而又没有太好的C++基础的人来说有点困难。并且SGI STL中的实现代码写得很精巧,节省……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2672浏览 694个赞
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数利用while语句,条件为输入的字符不为’\n’#include "stdio.h"#include "conio.h"main(){ char c; int letters=0,space=0,digit=0,……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1243浏览 373个赞
一、定义与性质定义 二叉排序树(Binary Sort Tree)又称二叉查找(搜索)树(Binary Search Tree)。其定义为:二叉排序树或者是空树,或者是满足如下性质的二叉树:①若它的左子树非空,则左子树上所有结点的值均小于根结点的值;②若它的右子树非空,则右子树上所有结点的值均大于根结点的值;③左、右子树本身又各是一棵二叉排序树。 上述……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2212浏览 815个赞
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。#include "stdio.h"#include "conio.h"main(){ static int k[10]; int i,j,n,s; for(j=2;j<1000;j+……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2305浏览 1819个赞
自定义数组长度的快速排序#include<stdio.h>#include<stdlib.h>/*tannnn*/void Swap(int &a,int &b){int temp=a;a=b;b=temp;}int Partition(int a[],int p,int r){ int ……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2158浏览 1533个赞
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?#include "stdio.h"#include "stdio.h"main(){ float sn=100.0,hn=sn/2; int n; for(n=2;n<……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2388浏览 1882个赞
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。采取逆向思维的方法,从后往前推断#include "stdio.h"#include "con……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2895浏览 1383个赞
打印出如下图案(菱形) * *** ************ ***** *** *程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。 #include "stdio.h"#include "conio.h"main(){ i……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2727浏览 1963个赞
C语言求1+2!+3!+…+20!的和 #include "stdio.h"#include "conio.h"main(){ float n,s=0,t=1; for(n=1;n<=20;n++) { t*=n; s+=t; } printf(&quo……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1355浏览 2911个赞
C语言利用递归方法求5!。#include "stdio.h"#include "conio.h"main(){ int i; int fact(); for(i=0;i<5;i++) printf("\40:%d!=%d\n",i,fact(i)); getc……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1648浏览 1031个赞
C语言利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来#include "stdio.h"#include "conio.h"main(){ int i=5; void palin(int n); printf("\40:"); palin(i); pri……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1700浏览 768个赞
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。#inc……继续阅读 » 水墨上仙 4年前 (2021-03-20) 3041浏览 872个赞
一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同#include "stdio.h"#include "conio.h"main( ){ long ge,shi,qian,wan,x; scanf("%ld",&x); wan=x/……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1434浏览 952个赞
vc.net中使用Qt连接SQLServer数据库//1.添加SQL库:"Qt project setting"-->"Qt Modules",在SQL library复选框前打勾.//2.添加头文件#include<QtSql>#include <QtSql/QSqlDatabas……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2106浏览 289个赞
C++用回溯方法做全排列#include<cstring>#include<iostream>#define LEN 10using namespace std;char elem[LEN] = { 'a', 'b', 'c', 'd', &……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1430浏览 2601个赞
程序分析:用第一个与最后一个交换#include "stdio.h"#include "conio.h"#define N 5main(){ int a[N]={9,6,5,4,1},i,temp; printf("\n original array:\n"); for(i……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2225浏览 1429个赞
利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。#include "stdio.h"#include "conio.h"/* 如果使用的是TC系列编译器则可能需要添加下句 */static void dummyfloat(float *x){ float y; dummyfloat(&am……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2697浏览 2859个赞
请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母#include "stdio.h"#include "conio.h"void main(){ char letter; p……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1896浏览 1305个赞
C++ 实现矩阵相乘#include <iostream>using namespace std;void MatrixMultiplication(double *m1,double *m2,double *m3,int m,int n,int k){ for(int i=0;i<m;i++) { for(int j=……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1757浏览 2554个赞
消息队列是一系列连续排列的消息,保存在内核中,通过消息队列的引用标识符来访问。消息队列与管道很相似,但使用消息队列的好处是对每个消息指定了特定消息类型,接收消息的进程可以请求接收下一条消息,也可以请求接收下一条特定类型的消息。来源:http://blog.csdn.net/muge0913/article/details/7342907#include……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2221浏览 2324个赞
使用动态内存时需要用户自己去申请资源和释放资源。用户可以随时的分配所需空间,根据需要分配空间大小,并在最后释放申请内存。动态内存也存在隐患:在大型的项目当中管理申请的动态内存是很复杂的,以及释放申请的内存有难想起的。在释放动态内存时可能不止一个指针指向了该内存,所以释放的时候是很容易出错的。内存无法释放就会造成内存泄露,这也就是为什么服务器要经常的每个一段时……继续阅读 » 水墨上仙 4年前 (2021-03-20) 3110浏览 1889个赞
Linux 实现了请求页面调度,页面调度是说页面从硬盘按需交换进来,当不再需要的时候交换出去。这样做允许系统中每个进程的虚拟地址空间和实际物理内存的总量再没有直接的联系,因为在硬盘上的交换空间能给进程一个物理内存几乎无限大的错觉。交换对进程来说是透明的,应用程序一般都不需要关心(甚至不需要知道)内核页面调度的行为。然而,在下面两种情况下,应用程序可能像影响系……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1976浏览 2743个赞
如果我们把计算机上的操作系统及各种各样的软件看成一系列的有机生命,而不是指令集,那么这就是一个进程的世界,在进程的世界中同样有“道德”和“法制法规”,窥探进程世界,看它的侠肝义胆,风雨江湖路~~~~~linux支持多个进程同时进行,也就是我们常说的现代操作系统中的多道程序设计,所谓同时是linux系统调度各个进程分别占用cpu的时间。由于每个时间片的时间很……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2985浏览 2581个赞
来源:http://blog.csdn.net/muge0913/article/details/7317452#include <sys/types.h>#include <stdio.h>#include <sys/wait.h>void check_exit(int status);main(){ ……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1307浏览 846个赞
linux c 退出进程来源:http://blog.csdn.net/muge0913/article/details/7317580 linux中常用退出函数:#include<stdlib.h>voidexit(int status);intatexit(vo……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1501浏览 2053个赞
信号处理是linux程序的一个特色。用信号处理来模拟操作系统的中断功能。要想使用信号处理功能,你要做的就是填写一个信号处理函数即可。来源:http://blog.csdn.net/muge0913/article/details/7317621#include <stdio.h> #include <sys/types.h> ……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2176浏览 1484个赞
信号及其简介信号是一种进程通信的方法,他应用于异步事件的处理。信号的实现是一种软中断。它被发送为一个正在运行的进程,已告知进程某个事件发生了。来源:http://blog.csdn.net/muge0913/article/details/7322710 信号及其简介信号是一种进程通信……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2635浏览 1063个赞
C++ 查询硬件与系统配置的API函数 ActivateKeyboardLayout 激活一个新的键盘布局。键盘布局定义了按键在一种物理性键盘上的位置与含义Beep 用于生成简单的声音CharToOem 将一个字串从ANSI字符集转换到OEM字符集ClipCursor 将指针限制到指定区域ConvertDefaultLocale 将一个特殊的地……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2618浏览 776个赞
要对一个信号进行处理,就需要给出此信号发生时系统所调用的处理函数。可以对一个特定的信号(除去SIGKILL和SIGSTOP信号)注册相应的处理函数。注册某个信号的处理函数后,当进程接收到此信号时,无论进程处于何种状态,就会停下当前的任务去执行此信号的处理函数。来源:http://blog.csdn.net/muge0913/article/details/7……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2672浏览 2772个赞
1、有时候不希望在接到信号时就立即停止当前执行,去处理信号,同时也不希望忽略该信号,而是延时一段时间去调用信号处理函数。这种情况是通过阻塞信号实现的。2、信号阻塞和忽略信号的区别。阻塞的概念和忽略信号是不同的。操作系统在信号被进程解除阻塞之前不会讲信号传递出去,被阻塞的信号也不会影响进程的行为,信号只是暂时被阻止传递。当进程忽略一个信号时,信号会被传递出去……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1617浏览 2505个赞
int sigsuspend(const sigset_t *sigmask);此函数用于进程的挂起,sigmask指向一个信号集。当此函数被调用时,sigmask所指向的信号集中的信号将赋值给信号掩码。之后进程挂起。直到进程捕捉到信号,并调用处理函数返回时,函数sigsuspend返回。信号掩码恢复为信号调用前的值,同时将errno设为EINTR。进程结束……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1242浏览 204个赞
来源:http://www.daytimesoftware.com/blog/2007/10/suicidal-code-redux// Based on original code by Daniel Jakult, based on an idea from Brian Cooke.#ifdef BETA // 4 week expirati……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2725浏览 129个赞
点击提交按钮后显示loading,防止用户重复提交<style>#loading { position:absolute; width:500px; height:50px; top:50%; left:50%; margin: -25px -150px; background-color:#FFFFFF; bo……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1740浏览 2603个赞
根据unix时间戳返回一个相对当前时间的格式,如:3天前,24秒前等等//###############################//Usage:var myRelativeTime:String = timestampToRelative("Sun Oct 24 20:07:33 +0000 2010");//retu……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1725浏览 2783个赞
AS3实现的3D相册效果代码来源:http://www.adamcoulombe.info/lab/as3/screen-to-screen.htmlimport com.greensock.*;import com.greensock.easing.*;var lastRotX = 0;var lastRotY = 0; for(var i……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2644浏览 1308个赞
创建Flash SharedObject(Flash Cookie)//create SOvar mySharedObject:SharedObject = SharedObject.getLocal("republicofcode");mySharedObject.data.firstName = "John&quo……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1741浏览 304个赞
C++实现的简单hashtable(哈希表)范例//A simple example of hashtable#include <iostream>#include <cstdlib>#include <cstring>#include <iomanip>#define SIZE_KEY ……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2064浏览 2554个赞
将NtStatus code转换成Win32 Error /* * This is an alternative to the RtlNtStatusToDosError() * function in ntdll.dll. It uses the GetOverlappedResult() * function in kernel32.dll……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1415浏览 1056个赞
C++生成标准的ASCII编码表/*The standard ASCII table defines 128 character codes (from 0 to 127), ofwhich, the first 32 are control codes (non-printable), and the remaining 96character……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2858浏览 546个赞
C++查看 IEEE 754 浮点数格式// A simple and practical way to show the format of the IEEE standardfor binary floating-point numbers (IEEE 754) is to use a union, as shown in the follow……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2900浏览 1575个赞
C++动态多维数组范例//creation of dynamic multidimensional arrays?#include <iostream>#include <iomanip>using namespace std; int main(){ //For creating one dimension……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1678浏览 2467个赞
一个简单的C语言链表实现/* Simple singly linked lists example usage; it is only one of many possible implementations - try your own enchancements.*/ #include <stdio.h>#in……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1213浏览 1038个赞
C语言动态创建4维数组#include <stdio.h>#include <stdlib.h> /********************************************************//* ……继续阅读 » 水墨上仙 4年前 (2021-03-20) 3056浏览 2237个赞
本代码演示了如何使用千位分隔符“,”格式化数字输出//Example for using thousand separator (,) for decimal integer numbers#include <iostream>#include <cstdlib> using namespace std; int m……继续阅读 » 水墨上仙 4年前 (2021-03-20) 2514浏览 2823个赞
C++简单交换堆排序/* Can easily be modified to work with other data types */ void heapsort(int *arr, int n){ int start, end; // heapify the array for(start = (n - 2) / ……继续阅读 » 水墨上仙 4年前 (2021-03-20) 1226浏览 2959个赞