- 浏览: 265995 次
- 性别:
- 来自: 吉林
-
最新评论
-
hhb19900618:
你好 请问怎么处理 客户端 socket发送数据超时后的崩溃问 ...
c socket 编程(TCP服务器端代码) -
gar_odie:
挺好的,谢谢露珠
jquery table分页插件 -
a545807638:
...
jquery table分页插件 -
a06062125:
挺好!值得学习
二叉查找树 --c代码 -
a06062125:
只有代码没有讲解 这也算日志
kmp 算法 --转
文章列表
(1)IPv4 头部
版本 IP报文首部的第一个字段是4位版本字段。对IPv4来说,这个字段的值是4。 首部长度(IHL) 第二个字段是4位首部长度,说明首部有多少32位字长。由于IPv4首部可能包含数目不定的选项,这个字 ...
朴素算法 --c语言实现
- 博客分类:
- 数据结构代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
int piaoshu(char *s,char *p)
{
int i,j;
//间距不断增大
for(i=0;i<strlen(s)-strlen(p)+1;i++)
{
//进行匹配
for(j=0;j<strlen(p);j++)
{
...
kmp算法 --c语言实现
- 博客分类:
- 数据结构代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
int next[1000]; //记录跳转位置
int kmp_next(char *base)
{
int i,j;
i=0;
j=-1;
next[0]=-1; //记录第一个字符的跳转位置为-1
while(base[i]!='\0')
{
//如果跳转到-1,说明只 ...
本文将介绍字符串匹配算法中的 朴素算法、快速匹配和自动机匹配
(1)朴素算法
朴素算法是一个比较容易理解的算法,也是容易编写的算法。
设偏移量为s,当T【s+0,s+1..s+n-1】=P[0,1,...n-1]时,说明文本 ...
高级算法包括:动态规划,贪心算法
(1)动态规划
动态规划算法是通过整合子问题来解决整个问题的,也就是说通过子问题的求解,可以得出次问题的解。
动态规划关键是找出问题求解方程,即找到子问题和问题解的关系。
例如:跳台阶问题 题目:一个台阶总共有n 级,如果一次可以跳1 级,也可以跳2 级,求总共有多少总跳法。
这是一道组合数学的题目,只要找到求解方程即可:
f( n )= f( n-1 ) + f( n-2 ) 并且 f(1)=1,f(2)=2
方程含义是说 ...
冒泡排序 --c语言实现
- 博客分类:
- 数据结构代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//交换两个位置
void swap(int a[],int pos1,int pos2)
{
a[pos1]=a[pos1]^a[pos2];
a[pos2]=a[pos1]^a[pos2];
a[pos1]=a[pos1]^a[pos2];
}
//冒牌排序
void bubble(int a[],int n)
{
int ...
合并排序 --c语言实现
- 博客分类:
- 数据结构代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//将两个有序序列合并为一个有序序列
void merge(int a[],int left_pos,int right_pos)
{
int temp[right_pos-left_pos+1];
int mid=(left_pos+right_pos)/2;
int left=left_pos,right=mid+1;
int count=0;
while(left ...
快速排序 -- c语言实现
- 博客分类:
- 数据结构代码
#include <stdio.h>
#include <stdlib.h>
void qsort(int a[],int left_pos,int right_pos)
{
if(left_pos<right_pos)
{
int left=left_pos,right=right_pos;
int temp=a[left]; //获取标准
while(left<right)
{
while(left ...
堆排序 --c语言实现
- 博客分类:
- 数据结构代码
#include <stdio.h>
#include <stdlib.h>
//交换两个位置
void swap(int a[],int pos1,int pos2)
{
a[pos1]=a[pos1]^a[pos2];
a[pos2]=a[pos1]^a[pos2];
a[pos1]=a[pos1]^a[pos2];
}
//调整start点的堆结构
void fix_max_heap(int a[],int start,int num)
{
int max_child;
//有两个节 ...
linux 内核学习 (1)内存管理
- 博客分类:
- 学习笔记
1 分页机制
早期计算机直接使用物理地址进行内存的使用和管理,但是硬件资源有限,而且不同的程序需要使用不同的物理地址,这样给程序的管理和运行造成了很大的难度,而且极易造成一个程序覆盖其他程序的问题,使正常运行的程序出现错误。
针对以上问题提出了使用虚拟地址与物理地址映射的管理方式,这样每个程序都可以使用相同的地址,但是由于每个进程使用不同的叶表,所以使用不同的物理页,这样就可以解决以上的问题。
下图为Linux下分页机制的实现原理,虚拟地址经过页面目录和页表的查询,找到页物理地址,最后将偏移量合成为物理地址。 2 分段机制
其实分页机制已 ...
链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(或被拷贝)到存储器并执行。
1、编译过程:
1.预编译
替换宏定义和外部文件的引用(例如 #define 和 #include)
[xyk@xyk linking]$ gcc -E main.c -o main.i
2.编译
将c语言或者c++语言翻译成汇编语言[xyk@xyk linking]$ gcc -S main.i -o man.s
3.汇编
将汇编语言使用汇编器,编译成机器语言
[xyk@xyk linking]$ gcc -c main.s -o ...
cpu使用率和内存使用率
- 博客分类:
- c项目常用
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/time.h>
static char buffer[1024];
static c ...
引入头文件:
#include<unistd.h>
#include<sys/types.h>
代码main函数中加入:
switch (fork())
{
case 0:
{
printf("start system\n");
setsid();
}
break;
case -1:
printf("can't fork\n");
break;
default:
exit(0);
}
DNS bind9 配置
- 博客分类:
- 学习笔记
安装环境:Linux 2.6.18-92.el5 x86_64
安装软件:bind-9.7.5
1、 bind安装
在压缩包存放的目录下(假设我们要把bind放在/home/目录下)
cd /home/
tar zxvf bind-9.7.5.tar.gz
cd bind-9.7.5
./configure --prefix=/usr/local/bind
make depend
make
make install
mkdir -p /usr/local/bind/var/run
mkdir -p /usr/local/bind/va ...
oracle建库过程
- 博客分类:
- 学习笔记
oracle数据库建立步骤
1、建表空间:
create tablespace icmp datafile '/u01/oradata/wilson/icmp.dbf' size 300M autoextend on next 100M maxsize 2048M extent management local;
建立临时表空间: create temporary tablespace linkprobe_fzx2_temp tempfile '/u01/oradata/wilson/linkprobe_fzx2_temp.dbf' size 300M autoextend on next ...