给出2个大整数A,B,计算A+B的结果。 Input 第1行:大数A 第2行:大数B (A,B的长度 <= 10000 需注意:A B有可能为负数) Output 输出A + B Input示例 68932147586 468711654886 Output示例 537643802472 问题解法分 继续阅读 >>


校园 17/01/15 13:32:00
拓展阅读: 推荐博客地址: 对vector的用法及定义有较为详细的讲解 使用时可以留作参考 继续阅读 >>


校园 17/01/12 10:35:00
Linux 下信号机制 概述 信号是一种软件中断,目的在于处理异步事件,而信号处理过程通常为出发->注册->执行->注销。信号的处理方式常有信号函数安装、发送、屏蔽、阻塞。信号机制除了基本的通知功能外还可以附加信息。处理信号有三种类型:进程接收到信号后退出;进程忽略该信号;进程收到信号后执行用户设定用系统调用signal的函数。当进程接收到一个它忽略的信号时,进程丢弃该信号,就象没有收到该信号似的继续运行。如果进程收到一个要捕捉的信号,那么进程从内核态返回用户态时执行用户定义的函数。而且执行用户定义的函数的方法很巧妙,内核是在用户栈上创建一个新的层,该层中将返回地址的值设置成用户定义的处理函数的地址,这样进程从内核返回弹出栈顶时就返回到用户定义的函数处,从函数返回再弹出栈顶时,才返回原先进入内核的地方。这样做的原因是用户定义的处理函数不能且不允许在内核态下执行(如果用户定义的函数在内核态下运行的话,用户就可以获得任何权限)。 信号处理方法 第一种是类似中断的处理程序,对于需要处理的信号,进程可以指定处理函数,由该函数来处理。 继续阅读 >>


校园 16/10/07 21:54:30
一:网络编程流程: 二:网络编程常用数据结构: 1:struct sockaddr  { u_short sa_family;//协议簇,采用AF_XXX形式,如AF_INET(IP协议簇)。 char sa_data[14];  //  14字节的特定协议地址  } :2:struct sockaddr_in { short int sin_family ; //协议簇 unsigned short int sin_port; //端口号 struct in_addr sin_addr; //协议特定地址,具体结构看下面 …… unsigned char sin_zero[8]; //填0 }  3:struct in_addr的结构如下: struct in_a 继续阅读 >>


校园 16/08/10 09:17:03
 文/盖世英雄 人的一生是生不带来死不带去的一生,我们在亲人的欢笑声中诞生,又在亲人的悲伤中离去。而这一切我们都不知道,我们无法控制自己的生与死,但我们应庆幸自己拥有了这一生。多少人到了年迈的时候,才能体会到健康长寿比荣华富贵更重要。 人就这么一生,我们都希望自己有个幸福的家,每天都是个快乐的人,但在生活中不是一切都尽如人意,每天我们会遇到各种各样的困难和烦恼,人活一辈子会遭遇多少无可奈何的事啊,邂逅多少恩恩怨怨的人。可是想到人不就这么一辈子吗?有什么好看不开的呢?人世间的烦恼忧愁,恩恩怨怨,几十年后不都烟消云散么?还有什么不能化解不能消气的呢? 人就这么一生,我们应该快乐地度过这辈子,只要我们不丧失对生活的信心,对理想的追求,只要你虔诚地去努力,乐观地去对待,事业上有好的机遇就快速地反应,抓住机遇,果断地决策。应有超人的智慧去完成自己的人生理想,因为人生短暂,时光如箭,让我们每个人的人生每个季节都光辉灿烂。 人就这么一生,我们不能白来这一遭,所以让我们从快乐开始,做你想做的,爱你想爱的,做错了不要后悔不要埋怨,世上没有完美的 继续阅读 >>


校园 16/08/10 01:24:39
【数据结构】栈(ADT)的操作与实现 数据结构设计: /************************************************************************* > File Name: Stack.h > Author: K I D > Mail: kuailexy@126.com > Created Time: Tue 09 Aug 2016 10:12:47 GMT ************************************************************************/ #ifndef _STACK_H #define _STACK_H #include<stdio.h> #include<stdlib.h> #include<string.h> #include<error.h> struct Node; typedef struct Node *P 继续阅读 >>


校园 16/08/09 14:15:38
线程同步 1:初始化互斥锁: 相关函数: int pthread_mutex_init(pthread_mutex_t *restrict mutex,const pthread_mutexattr_t *restrict attr); int pthread_mutexattr_init(pthread_mutexattr_t *attr); 初始化方法1——静态赋值法:pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; 初始化方法2——通过pthread_mutex_intit()函数初始化。 pthread_mutexattr_init(pthread_mutexattr_t *attr); 函数成功完成后返回0,其他任何返回值都表示出错。 2:给互斥锁加锁 int pthread_mutex_lock(pthread_mutex_t *mutex); 如果mutex已被锁住,当前尝试加锁的线程就会阻塞,直到胡扯所被其他线程释放。 如果函数返回,则说明互斥锁进程已经成功加锁。 i 继续阅读 >>


校园 16/08/08 17:08:50
1:线程创建函数: int pthread_create((pthread_t thread, pthread_attr_t *attr, void (start_routine)(void ), void *arg); 说明:非阻塞函数,使用clone系统调用实现,clone系统调用创建子进程。线程ID:指向线程数据结构的指针。 2:获取本线程ID: pthread_ pthread_self(void) 3:判断两个线程ID是否执行爱那个同一线程: Int pthread_equal(pthread_t thread 1,pthreaint pthread_t pthread2); 说明:不同域下的tid可能相同 4:保证init_routine线程函数在进行过程中只进行一次 Int pthread_once(pathread_once_t * once_control,void(*init_routine)(void)) 说明:主线程与新线程之间的竞争,先看主线程是否需要休眠,如果主线程不休眠,他就可能退出,这样在新 继续阅读 >>


校园 16/08/08 11:26:03
数据结构 #ifndef _DEF_H_ #define _DEF_H_ #include <stdio.h> #include <stdlib.h> #define ERR_EXIT(m) \ do \ { \ perror(m); \ exit(EXIT_FAILURE); \ } \ while (0) #define MAXLINE 1024 /* 输入行的最大长度 */ #define MAXARG 20 /* 每个简单命令的参数最多个数 */ #define PIPELINE 5 /* 一个管道行中简单命令的最多个数 */ #define MAXNAME 100 /* IO重定向文件名的最大长度 */ #define OPEN_MAX 1024 typedef struct command { char *args[MAXARG+1]; /* 解析出的命令参数列表 */ int infd; int outfd; } COMMAND; typedef struct node { 继续阅读 >>


校园 16/08/06 10:17:54
僵尸进程:一个子进程在其父进程还没有调用wait()或waitpid()的情况下退出。这个子进程就是僵尸进程。 孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。 僵尸进程将会导致资源浪费,而孤儿则不会。  僵尸进程会占用系统资源,如果很多,则会严重影响服务器的性能 孤儿进程不会占用系统资源,最终是由init进程托管,由init进程来释放它。 处理流程: 只要老爹不等wait(sys/wait.h)儿子,儿子都将成为孤魂野鬼zombie(zombie),unix中默认老爹总是想看儿子死后的状态(以便报仇)     if   老爹比儿子先再见     儿子将被init(id   =   1)收养,最后的结果是zombie儿子彻底再见,系统资源释放     else 继续阅读 >>


校园 16/07/29 22:22:21