getopt和getopt_long函数 平时在写程序时常常需要对命令行参数进行处理,当命令行参数个数较多时,如果按照顺序一个一个定义参数含义很容易造成混乱,而且如果程序只按顺序处理参数的话,一些“可选参数”的功能将很难实现。在Linux中,我们可以使用getopt、getopt_long、getopt_long_only来对这个问题进行处理。[cpp] view plaincopy
hdu 1512 Monkey King 左偏树 有这么一群猴子,他们喜欢打架,要是两个猴子没打过就会开打,打完后自己的val值减半,然后他们就变成好基友,他们之前各自的好基友也变成了好基友,当两只猴子决斗时,并不一定是他们打,而是他们各自的好基友里面val值最大的出来打,如果他们本来就是好基友那么就不打了,output -1,否则output 打完后最大的val值:利用左偏树求解,读入数据时为每一个猴子建立一颗左偏树,当两个猴子打
左偏树 #define typec int // type of key valusing namespace std;const int na = -1;int swap(int &x,int &y){ int t = x; x = y; y = t;}struct node{ typec key; int l, r, f, dis
快速输入输出 当程序有大量的数据输入输出时,以下函数可以更加快速(针对整数--其他数据类型同理) char buffer[10];10 void print_d( int x )11 {12 if ( x == 0 )13 {14 putchar('0');15 }16 else17 {18 int
shell编程-----引用和替换 -----------------------常用引用符号--------------------双引号--------除美元符号($),单引号( ' ),反引号( ` ),反斜线( \ )外,其他字符保持字面意义-------------------------------------------------------------单引号--------所有的字符都将保持字面意义
shell编程---变量的定义 为了更好地控制变量的相关属性,bash 提供了一个名称为declare的命令来声明变量,该命令的基本语法如下:declare attribute variable其中,attribute表示变量的属性,常用的属性有如下所述。 -p:显示所有变量的值。 -i:将变量定义为整数。在之后就可以直接对表达式求值,结果只能是整数。如果求值失败或者不是整数,就设置为0。 -r
Shell编程之多行注释 在Shell中可以使用#对某一行进行注释,但有时候需要对多行进行注释这时候可以使用“:”配合here document::...注释内容BLOCK#----------------------------example.sh----------------------------#! /bin/sh:本脚本的作用是输出一行字符串作者:zhuzh
KMP算法 //next 数组求法 void GetNextval(char* p, int next[]) { int pLen = strlen(p); next[0] = -1; int k = -1; int j = 0; while (j { //p[k]表示前缀,p[j]表示后缀
成为IT精英,我奋斗7年(转) 转载处:http://liangwang985.blog.163.com/blog/static/119549233201191394259491/这些日子 我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没 有方向 ,所以把我的经历写出来与大家共勉,希望能给刚如行的朋友们一点点帮助。 一
Linux学习笔记之---基于UDP的通信程序设计 13:基于UDP的通信程序设计 13.1 UDP数据的收发 1.数据发送函数sendto #include #include int sendto(int s,const void *msg,int len,int flags,
Linux学习笔记之---基于TCP的通信程序的设计 12:基于TCP的通信程序的设计 12.1 套接字的类型 1.流套接字SOCK_STREAM 是双向的,可靠的,顺序的,不重复的,面向连接的,tcp协议 2.数据报套接字SOCK_DGRAM 无连接,独立的,无序的,不保证可靠性,udp协议
Linux学习笔记之---信号量 10:信号量 10.1 信号量的存储结构 struct semid_ds { struct ipc_permsem_perm; 访问权限 struct sem *base; 信号量集合中信号量指针
Linux学习笔记之---管道 8:管道 8.1 无名管道 无名管道通常直接称之为管道,它占用两个文件描述符,不能被非血缘关系 的进程共享,一般应用在父子进程中 8.2 无名管道的建立 #include int pipe (in
Linux学习笔记之---进程 6:进程控制 6.1: 读取进程ID号 #include #include pid_t getpid(); 当前进程ID; pid_t getpgrp(); 当前进程组ID; pid_t getppid();
Linux学习笔记之---时钟和信号 7:时钟和信号 7.1 UNIX中存在三种格式的时间: 1.系统时间: 1970,1,1到现在的秒数(time_t) 2.高分辨率时间:精确到微妙的时间(timeval结构体) 3.日历时间:“年,月,日,时,分,秒“类型(tm结构) 7.2 系统时间