- 博客(46)
- 收藏
- 关注
原创 Perl中列表实用工具集的使用
List::Util 列表实用的工具集.摘要:use List::Util qw(first max maxstr min minstr reduce shuffle sum);示例:1:first 返回列表中第一个满足条件的元素, 若不存在, 则返回undefined:如 $fed = first { defined($_) } @list; #list中第一个defined的元素 $
2009-01-16 09:55:00
570
转载 SSO技术,SSO是什么?
SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 SSO技术实现机制 当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息
2009-01-15 14:31:00
1489
原创 Perl中的散列
散列 散列是一种数据结构, 和数组相同之处是:它也可以包含任意多个值; 不同之处是:数组是以数字来作为索引的, 而散列则是用名称 来寻找相应的值.
2009-01-15 09:26:00
641
原创 Perl中的子例程
Perl可以定义子例程, 也即是通俗讲的函数. 子例程可以使程序代码的可重用性加强, 使代码简洁而易于维护. Perl中的子例程源自独立的命名空间, 所以即是存在一个与子例程相同名字的 变量, 也不会产生二义性. 如: &subcall; $subcall;子例程的定义 子例程的定义可以放在程序中的任意位置: 即子例程的定义既可以放在程序的开头, 也可以放在程序的结尾.
2009-01-06 09:56:00
1000
原创 Perl中的词法变量
(my)词法变量 Perl中的词法变量可以应用在任何的块和子例程中; 被my 修饰的词法变量对于所属块而言是私有的; 如果变量的定义未出现在任何块中,则该变量对于整个程序文件而言是私有的. my操作符可以用来修饰标量变量: 如在test.pl中: #!/user/bin/perl use strict; use warnings; my $num1 = 5;
2009-01-05 10:33:00
2002
原创 Perl中递归遍历文件夹,寻找包含某个字符串的文件
#!C:/perl/binuse strict;use warnings;our %params = ();&getParams();die "lack params error/n" if(!exists($params{"dir"}) || !exists($params{"strpattern"}));my $SYSTEM;my $separator;my $file;my $recursi
2009-01-04 15:07:00
3048
转载 Perl中的正则表达式(转摘)
9 Perl 中的正则表达式正则表达式的三种形式 正则表达式中的常用模式 正则表达式的 8 大原则 正则表达式是 Perl 语言的一大特色,也是 Perl 程序中的一点难点,不过如果大家能够很好的掌握他,就可以轻易地用正则表达式来完成字符串处理的任务,当然在 CGI 程序设计中就更能得心应手了。下面我们列出一些正则表达式书写时的一些基本语法
2009-01-02 15:39:00
832
原创 一个Perl文本处理实例
假设存在file1, file2两个文本文件, 文件每行格式为:| .* | .*;要求:求出所有在file2文件中出现的行, 且仅保留双"|"之间的内容。如: 若存在 |adfdf| dofijaosdjioaf 于file2, file1中不存在该项,则该返回 |adfdf|参考例程:#!/usr/bin/perluse strict;use warnings;die "lack compar
2008-12-24 17:19:00
3721
原创 Perl中的字符串
字符串的概念:字符串就是一连串的字符。 字符串可以包含各种字符的任意组合。最短的字符串是空字符串(即不含字符),最长的可填满所有可用的内存。字符串的表示形式:在Perl中, 字符串直接量有两种表示形式:单引号内的字符串与双引号内的字符串。 1:单引号内的字符串, 单引号内的所有字符都代表它本身(单引号和反斜线除外)。 要表示反斜线或单引号,需要在它之前加一个反斜线转义, 如: th
2008-12-22 16:55:00
3577
翻译 Perl中的变量(1)
变量变量(variable)就是某个容器的名称, 里面可以存储一个或者多个值.变量的名称在程序运行期间是保持不变的, 但通常变量的值是可以发生改变的.标量变量Perl中的标量(Scalar)用来指代单个事物,譬如一个数值或者一个字符串.标量可以用一个标量变量来存储,也可以读取自或写出到文件和设备中.在Perl中, 标量变量的名称是以美元符号($)开头, 后面接着"Perl 标识符":一个字母或下划
2008-12-19 10:20:00
1031
原创 背包问题非递归实现
#includeusing namespace std;#define N 4unsigned int S=0;unsigned int Weight[N];int main(){ cout"Plz input the "" goodss weight/n"; for(int i=0;i>Weight[i]; cout"Input the package volume/n";
2008-12-08 10:53:00
493
原创 内存拷贝实现
问题描述:写一个函数,完成内存之间的拷贝#includeusing namespace std;// 返回void *,可支持链式操作 void *memcpy_(void *dest, const void *source, unsigned int c_length){ assert(dest && source); if(dest==source)return dest;
2008-12-08 10:50:00
439
原创 隐藏密码输入
问题描述:将用户输入的密码以"***"格式显示#include#include #include using namespace std;int main(){ int ch; cout"Input your password, end input plz enter ^" do { ch=getch(); cout"*"; }whil
2008-12-08 10:46:00
460
原创 寻找独异数
问题描述:/*一个极大数组,数组里面有一系列数,其中有一个数单独出现一次,其它的数出现了两次,请找出这个单独出现的数时间复杂度O(n),空间复杂度O(1) */// 利用位异或性质#includeusing namespace std;int singleNum(const int Num[], int s_length){ assert(s_length>0 && (s_length%2!
2008-12-08 10:43:00
433
原创 一道2005金山笔试题
问题描述:/*2005年11月金山笔试题。编码完成下面的处理函数。函数将字符串中的字符*移到串的前部分,前面的非*字符后移,但不能改变非*字符的先后顺序,函数返回串中字符*的数量。如原始串为:ab**cd**e*12,处理后为*****abcde12,函数并返回值为5。(要求使用尽量少的时间和辅助空间)*/#includeusing namespace std;int charB
2008-11-29 10:26:00
649
原创 求执行者问题
问题描述: 定义一个数组中,若某个值出现的次数在一半以上,则为执行者。如下数组: A[8]={1,2,2,4,2,4,2,2} 由于2出现上午次数5次大于5/8>0.5, 所以2为数组A[8]的执行者。 要求:求出数组的执行者,与其对应的下标。 你需要用到的函数: int administer( int *s,int length)//实现#includeusing namespace
2008-11-28 16:04:00
398
原创 二叉查找树
// BSTree.cpp : Defines the entry point for the console application.//问题描述:二叉查找树的实现//创建者:QGX//创建时间:2008-2-1#include "stdafx.h"#includeusing namespace std;//二叉查找树的定义#define NULL 0typedef int Type;clas
2008-03-20 12:36:00
483
原创 关键路径实现
// PivotalPath.cpp : Defines the entry point for the console application.////问题描述:关键路径实现//创建者:QGX//创建时间:2008-2-12#include "stdafx.h"#include#include#include"F:/QGX_TEMP/HEADFILE/STACK.h"using namespa
2008-03-20 12:34:00
756
1
原创 简单的贪吃蛇
简单的贪吃蛇:Sample Input18NWWWWWWWWWWSESSSWS20SSSWWNENNNNNWWWWSSSS30EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE13SWWWWWWWWWNEE0Sample OutputThe worm successfully made all 18 moves.The worm ran into itself on mo
2007-06-22 20:35:00
3872
原创 Hangover
//一个简单问题:#include "stdafx.h"#includeusing namespace std;int _tmain(int argc, _TCHAR* argv[]){ int Card_Num(float n); float num; while(cin>>num && (int)(num*1000)!=0) { cout" card(s)" } return 0;}i
2007-06-19 09:37:00
428
原创 循环小数
//题目略。。。#include "stdafx.h"#includeusing namespace std;int _tmain(int argc, _TCHAR* argv[]){ bool Found=false;//是否找到循环 int m,n;//m被除数,n为除数 int len;//循环节长度 int Temp[1000]; int temp=0; cin>>m>>n; //小数点
2007-06-17 17:13:00
741
原创 八数码问题.....
/*问题描述:8个编有数码1 ̄8的滑牌,能在3*3的井字格中滑动。 井字格中有一格是空格,用0表示,因而空格周围的数码滑牌都可能滑到空格中去. 下图是数码滑牌在井字格中的两种状态: ┎─┬─┬─┒ ┏━┯━┯━┓ ┃2 │8 │3 ┃ ┃1 │2 │3 ┃
2006-12-23 09:40:00
603
原创 五自然数
/*问题描述:已知五个互不相同的正整数之和为23,且从这五个数中挑选若干个加起来可以表示从1到23之内的全部自然数。问这五个数是什么?*/ /*因为从这5个数中要生成1,2这两个数,则这5个互不相同的数中必含有1和2; 则剩下的三个数可以判断出当中最大的不超过13,故可穷举所有可能的情况,然后再判断*/#includeusing namespace std;#define N 23 i
2006-12-19 11:36:00
916
原创 区分旅客国籍.....
/*问题描述:在一个旅馆中住着六个不同国籍的人,他们分别来自美国、德国、英国、法国、俄罗斯和意大利。他们的名字叫A、B、C、D、E和F。名字的顺序与上面的国籍不一定是相互对应的。现在已知:1)A美国人是医生。2)E和俄罗斯人是技师。3)C和德国人是技师。4)B和F曾经当过兵,而德国人从未参过军。5)法国人比A年龄大;意大利人比C年龄大。6)B同美国人下周要去西安旅行,而C同法国人下周要去杭州度假
2006-12-17 09:06:00
1687
原创 谁家孩子跑最快.....
/*问题描述:张王李三家各有三个小孩。一天,三家的九个孩子在一起比赛短跑,规定不分年龄大小,跑第一得9分,跑第2得8分,依此类推。比赛结果各家的总分相同,且这些孩子没有同时到达终点的,也没有一家的两个或三个孩子获得相连的名次。已知获第一名的是李家的孩子,获得第二的是王家的孩子。问获得最后一名的是谁家的孩子?*/ #includeusing namespace std;int Label[9],
2006-12-15 09:39:00
1514
原创 邮票封面设计问题
/*问题描述:给定一个信封,最多只允许贴 N张邮票,计算在给定K(N+K(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大max,使得1__max之间的每一个邮资值都能得到。 例如:N=3,K=2,如果面值分别为1分、4分,则在1分__6分之间的每一个邮资值都能得到 (当然还有8分、9分、和12分):如果面值分别为1分、3分则在1分--7分之间的每一个邮资值都能得到。 可
2006-12-14 09:26:00
1021
原创 马踏棋盘问题
/*问题描述:N*N的棋盘,从棋盘中的某个格开始,是否存在经过棋盘上所有格一次且仅一次的通路!*/ //回溯方式#includeusing namespace std;#define N 8 //N*N的棋盘int Roads[N*N];//存储走的方式int count=0;//存储共有几种走的方式bool visited[N+2][N+2];//加边界,便于处理,记录访问过的格int
2006-12-12 20:50:00
746
原创 微型蓝球赛问题
/*问题描述: 甲,乙两队进行蓝球比赛,结果甲队以S:T 获胜.(T 由键盘输入). 比赛中, 甲队得分始终领先(严格大于乙队). 规定以任何方式进一 球都只得一分. 编程序打印该比赛的每一种可能的不同的得分过程, 以及所有不同 过程的总数.*/#includeusing namespace std;bool Process[20];//存储比赛过程,true代表甲队得分,false代表已
2006-12-11 09:52:00
1181
原创 0-1背包
/*问题描述:有 N 件物品 d1,......dN,每件物品重量为 W1,..., WN (Wi > 0), 每件物品价值为 V1,......VN (Vi>0)。用这N件物品的某个子集 填空背包,使得所取物品的总重量 能高。*/ //0-1背包问题..,物品不可分割;可分割物品的背包问题可采用贪心算法。#includeusing namespace std;#define N 5
2006-12-10 10:29:00
695
原创 集合中找K小元素
/*问题描述:一个集合满足如下条件: (1)1是集合的元素; (2) 若 P 是集合的元素,则 2*P+1,4*P+5 也是集合的元素。 求:此集合中最小的 K 个元素。*/ #includeusing namespace std;struct IntNode{ int data; IntNode* next;};int main(){ int P,K,count; P=1;
2006-12-08 20:44:00
667
原创 乘积最大的分解
/*问题描述:已知 N 个正整数满足 K1+K2+...+Kn=M。求一组最佳的分解,使得 K1*K2*....*Kn 为最大。 例如:N=2时,给定 K1+K2=6,当 K1=3,K2=3 时,K1*K2=9 为最大*/#includeusing namespace std;#define M 10int Max,temp[M],K[M];//最多可以有M个正整数相加,K1+.....+Km
2006-12-07 20:32:00
1167
原创 取棋子实现
可以玩玩,...#includeusing namespace std;int main(){ char Rule;//竞赛规则 char temp,WhoFirst;//谁先(Y--人先,C电脑先) int N,K,num,Left_Num; do{ cout"输入竞赛规则:A. 取最后一颗棋子的那一方为败." cout" B. 取最后一颗棋子的那一方为胜." c
2006-12-06 17:03:00
845
原创 取棋子问题
/*问题描述: ( 取棋子 ) 设有N颗棋子,由人和计算机轮流从中取走若干颗。每方每次最 多取K颗,最少取1颗 (K值不能超过总数的一半,也不能小于1)。试编写一程 序使计算机有较多的获胜机会。 屏幕输入提示: (1) 输入竞赛规则:A. 取最后一颗棋子的那一方为败. B. 取最后一颗棋子的那一方为胜. (2) 总共有多少颗棋
2006-12-06 10:50:00
2552
原创 野人与传教士
/* 问题描述:设有三个传教士和三个野人来到河边,打算乘一只船从右 岸渡到左岸去。该船最大负载能力为两人,在任何时候,如果野人人数超过传教士 人数,那么野人就会把传教士吃掉。他们怎样才能用这条船安全地把所有人都渡过 河去呢?*/问题比较有趣,写了一下,比较繁琐些:#includeusing namespace std;int Right_Balance;//右岸的传教士与野人的平衡情
2006-12-06 10:49:00
2483
2
原创 硬币称重
/*问题描述:设有8枚硬币a,b,c,d,e,f,g,h,其中有一枚硬币是伪造的。 真伪硬币的区别仅是重量不同,可能重,可能轻。今要求以天平为工具,用最少的 比较次数挑出伪造硬币,并鉴定它是重还是轻。*/ //只是找出不标准的球,没有判别轻重,3次称量#includeusing namespace std;int main(){ int a,b,c,d,e,f,g,h; int
2006-12-04 16:20:00
1746
原创 城市道路问题之二
接上文,代码如下:#includeusing namespace std;#define N 5#define M 5bool Direct;//两个方向,朝右Direct=true,朝上Direct=falsebool Track[M+N];//存储走过的轨迹int count=0;//存储共有几种途径int main(){ void Tracks(int n,int x,int y);//坐
2006-12-04 10:04:00
732
原创 城市道路问题
问题描述:某地街道把城市分割成矩形方格,每一方格叫作块,某人从家中出发上班,// 向东要走M块,向北要走N块,(见图)。请设计一个程序,由计算机寻找并// 打印出所有的上班的路径。(只能向右或向上,否则会死循环) 今天没空,改天写好了贴上来
2006-12-03 21:57:00
1130
原创 素数环问题
/* 问题描述:用自然数1到20构成一个素数环,环中的每个元素与其相邻元素的和都构成素数。请编程实现并输出这个环*/ 这里采用了递归策略,可以输出所有情况,不过存在重复输出问题,重复输出数为N,(环是没有次序的)现在没有想到好的解决方法。若自然数个数确定为20;则构环的数目相当大,程序运行时间也高得惊人。测试时可以减少自然数。代码如下:版本:1.0#include#includeusi
2006-12-01 18:51:00
1459
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人