自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

转载 curses

Linux程序设计——第六章 curses函数库   UNIX 屏幕导向程序的发展利器 - curses (之一)     cbreak()       nocbreak()  当 cbreak 模式被开启後, 除了 DELETE 或 CTRL 等仍被视为特殊 控制字元外一切输入的字元将立刻被一一读取.当处於 nocbreak 模 式时, 从键盘输入的字元将被储存在 buffer 里直到

2012-03-20 10:39:42 343

转载 gethostbyname()

使用这个东西,首先要包含2个头文件: #include #include struct hostent *gethostbyname(const char *name); 这个函数的传入值是域名或者主机名,例如"www.google.com","wpc"等等。 传出值,是一个hostent的结构(如下)。如果函数调用失败,将返回NULL。 struct hostent {

2012-03-10 14:23:33 370

转载 gethostent

2.套接字的调用 TCP/IP的系统调用主要是通过对套接字的操作来实现的,下面给出了部分常用的TCP/IP系统调用: �scoket 创建套接字 �bind 为套接字赋一个名字 �connect 启动一个连接 �accept 接受连接 �listen 监听连接 �write/send 发送信息 �read/recv 接收信息 �close 关闭套接字 三、UNIX网络库例程的应

2012-03-10 14:07:34 1164

原创 信号2笔记

系统有以下处理信号的组合: 1、不可靠的信号(捕鼠器) 如果先后出现两个SIGINT信号杀死了进程,那么意味着你的系统是不可靠的信号:处理函数必须每次都重置。 sa_flags的值为SA_RESETHAND,就是这种信号:在调用信号处理函数时,将信号的处理方式重置为SIG_DEL。所以 出现第二SIGINT信号,按默认方式终止了进程。 什么是捕鼠器:

2012-02-29 09:57:34 1740

转载 信号

在linux系统中 1、使用signal捕捉SIGINT信号           测试连续发送此信号会递归的调用同一个信号处理函数,不会重置为SIG_DFL            早期版本中的一个问题是在进程每次接到信号对其进行处理时,随即将该信号动作篡位为默认值。 2、使用signal           被中断的系统调用会自动重启动,而不返回错误           早期unix系

2012-02-27 17:14:30 458

原创 网络登录

PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND 0 1 1 1 ? -1 Ss 0 0:01 init [3] 1 2255 2255 2255 ? -1 Ss 0 0:03 /usr/sbin/s

2012-02-09 11:37:38 638

原创 观察getpid和getppid

#include #include int main(void) { pid_t pid; if((pid=fork())<0) fprintf(stderr,"fork error\n"); else if(pid==0) printf("getpid1=%

2012-02-06 15:29:02 2647

原创 文件重命名

#include #include #include #include int main(int argc,char *argv[]) { char newname[100]; char name1[100]; char name2[100]; int biao=0; char oldn

2012-02-01 17:54:58 396

转载 贪心算法

在每一步都选择看起来"最好的"选项的算法称为贪心算法 这种算法在每一步都选择最好的选项,而不考虑可能导致最优解的所有步骤序列。 例  考虑用25美分、10美分、5美分和1美分硬币找n美分零钱的问题,使硬币总数尽可能少。     可以设计一个找n美分零钱的贪心算法,在每一步都做局部最优的选择。即在每一步选择可加入已找零钱中不超过n美分的最大面值的硬币。例如要找67美分零钱,首先选择一个25美分

2012-01-21 10:41:12 425

转载 插入排序

待排序的数也称为关键字(key) 插入排序的工作机理与打牌时,整理手中牌时的做法差不多。 在开始摸牌时,我们的左手是空的,牌面朝下放在桌上。接着,一次从桌上摸起一张牌,并将它插入到左手一把 牌中的正确位置上。为了找到这张牌的正确位置,要将它与手中已有的每一张牌从右到左地进行比较,无论在什 么时候,左手中的牌都是排好序的,而这些牌原先都是桌上那副牌里最顶上的一些牌。 伪代码 例 排序

2012-01-20 16:47:45 336

转载 冒泡排序

把一个表排列成升序(从小到大排序):一次次比较相邻的元素,若相邻元素顺序不对,就交换相邻元素。 为了完成冒泡排序,执行基本操作,即交换一个较大的元素与其后的较小的元素,从表的头部开始,对整个表执 行一遍;让这个过程迭代(执行几遍),直到排序宣告完成为止。 在冒泡排序里,当较小的元素与较大的元素交换时,较小的元素就“冒泡”到顶上,较大的元素则“下沉”到底 下。   例  用冒泡排序把

2012-01-20 16:10:08 484

转载 二分搜索

算法时间复杂度:θ(logn)   前提条件:当表中各项以升序出现时可以用这一算法。 (例如,若各项为数字,则按从最小到最大顺序排列;如果各项是单词,则可以按字典序或字母排列)。 这个算法比较要搜索的元素与表的中间项。然后此表就分成两个较小的长度相等的子表,或许其中有一个比另一个少一项。根据与中间项的比较结果,搜索将限于在两个子表中的一个进行。 例  要在表 1,2,3,5,6,7,8

2012-01-20 14:15:38 430

转载 线性搜索算法

算法时间复杂度:θ(n)   问题:在不同元素a1,a2,...,an的表中为元素定位,或判定x不在该表中。这一搜索问题的解是表中等于x的那一项的位置(即,若x=ai,那么i就是解),或当x不在表中时解为0。 线性搜索算法 从比较x和a1开始。若x=a1,那么解就是a1的位置,也就是1。                  当x≠a1时,比较x和a2。

2012-01-20 10:30:27 5322

原创 选择排序法

#include #define LEN 5 int a[LEN]={10,5,2,4,7}; void selection_sort(void) { int i,j,key; for(i=0;i<LEN-1;i++) { printf("%d %d %d %d %d\n",a[0],a[1],a[2],a[3],a[4]); key=a[i]; j=i+1; while(

2012-01-19 14:16:09 437

转载 赫夫曼编码

#include #include #include int m,xiao,dia; typedef struct { unsigned int weight; unsigned int parent,lchild,rchild; }HTNode; typedef HTNode * HuffmanTree; //动态分配数组存储哈夫曼树 typedef c

2011-12-31 17:28:28 419

原创 链表

list.h #include #include #define TSIZE 45 struct film { char title[TSIZE]; int rating; }; typedef struct film Item; typedef struct n

2011-09-27 17:36:34 278

转载 二叉查找树

添加项目 1、检查树中是否还有空位 2、检查树中是否已经有该项目 2、通过前两步,就可以建立一个新的节点,将项目复制到节点中,并设置此节点左右指针为NULL,再更新Tree结构的size成员 找此节点在树中的位置 如果树为空     将根节点指针指向该新节点 els

2011-09-16 16:50:07 319

原创 中缀表达式转换成后缀表达式

例如: 中缀表达式     a+b*c+(d*e+f)*g 转换成后缀表达式,正确答案是; a b c * + d e * f + g * + 算法分析:        当读到一个操作数的时候,立即把它放在输出中,如果遇到操作符时,存放在栈中,不立即输出;当遇到

2011-09-03 11:27:06 1248

原创 编程计算表达式:6 5 2 3 + 8 * + 3 + * 的结果

计算表达式:6 5 2 3 + 8 * + 3 + *  算法思路:                使用栈,当见到一个数时就把它推入栈中;在遇到一个运算符时该运算符就作用于从该栈弹出的两个数上,将所得结果推入栈中。 stack.h #ifndef STACK_H_ #de

2011-09-01 16:22:28 2768

原创 编写一个用栈来检查程序代码是否遗漏括号的程序

功能: 此程序的功能检验代码中的每一个右花括号、右方括号及右圆括号与对应的左括号是否成对出现。 如:序列"[()]"是合法的,但"[(])"是错误的。 并报告出错误出现在那一行。 算法:        做一个空栈      读出文件中的每一行,直到文件

2011-09-01 10:02:39 753

用c编写一元多项式相乘

两个一元多项式相乘: 如: pa=5X50+15X20+20X10 pb=10X30+20X20+150X2 分析:就是pa中的每一项分别乘以pb的各项,然后合并同类项。 指数公式:AXABXB=ABXA+B 相乘的结果是: pc=50X80+100X70+750X52+ 150X50+300X40+2250X22+ 200X40+400X30+3000X12 指数公式:AXA+BXA=(A+B)XA 最后的结果是: Pc=50X80+100X70+750X52+150X50+500X402250X22+400X30+3000X12

2011-08-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除