摘要: 我觉得要了解这两种策略,除了多刷题没别的方法。二分搜索#include #include int BinSerach(int a[], int first, int LEN,int j){ if(j == a[(first + LEN)/2]) return j; if(j a[(first + LEN)/2]) return BinSerach(a, (first + LEN)/2, LEN, j); printf("no this intger\n");} int main(){ const int LEN = 1000; int a[LEN]; int i; for( 阅读全文
posted @ 2014-03-14 16:18 elroyzhang 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 首先呢,这是昨天到今天晚上的学习,总结下。发现我自己的问题1.c语言还是有问题,原因做的东西太少,理论知识不能结合实际,比如unsigned char 存储 一个字节和char存储一个字节的差别。2.数学很重要啊。3.学一个东西,一定要把这个东西学的屎出来了,再换。要么和没学没啥区别。想要灰度化首先干什么呢?对了就是找图片。这个是我在人人网注册栏找到的。第二步呢?图片存储格式。根据linux的哲学“一切皆文件”,所以这个图片一定可以用c语言的文件操作函数打开,我用的是c语言,当然用到文件操作这一节,复习复习。第三部呢?既然图片是文件,那就要读出来,文件操作就那么几个函数,都是字节或者二进制,然 阅读全文
posted @ 2014-03-13 17:21 elroyzhang 阅读(2490) 评论(0) 推荐(0) 编辑
摘要: 栈的创建,入栈,打印栈内数据#include #include typedef int StackElementType;typedef struct node {StackElementType data;struct node *next;}LinkStackNode;typedef LinkStackNode *LinkStack;void InitStack(LinkStack *s){*s = (LinkStack)malloc(sizeof(LinkStackNode));LinkStack s1 = *s;s1->data = -1;s1->next = NULL;} 阅读全文
posted @ 2014-03-11 17:07 elroyzhang 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 打包文件备份或者干别的经常感觉招不到这个命令,所以来这里记录下。打包(.tar): tar -cvf Pro.tar /home/lin/Pro #将/home/lin/Pro文件夹下的所有文件打包成Pro.tar打解包(.tar.gz) tar -cvzf firefox-3.0.3.tar.gz firefox #将firefox文件夹打包为firefox-3.0.3.tar.gz tar -xvzf firefox-3.0.3.tar.gz打解包(.tar.bz2) tar -cvjf firefox-3.0.3.tar.bz2 firefox/ #将firefox文件夹打包为firef 阅读全文
posted @ 2014-03-11 09:49 elroyzhang 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 由于要用到所以学习下,并且记录下。shell和shell脚本的概念shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell。shell脚本(shell script),是一种为shell编写的脚本程序。业界所说的shell通常都是指shell脚本,但读者朋友要知道,shell和shell script是两个不同的概念。由于习惯的原因,简洁起见,本文出现的“shell编程”都是指shell脚本编程,不是指开发shell自身(如Windo 阅读全文
posted @ 2014-03-05 18:31 elroyzhang 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 因为最近要看socket,而linux的哲学之一是一切东西皆文件,socket同时起源于linux,所以想看看linux的文件操作。1 什么是系统编程?linux下系统编程是指程序员使用系统调用或者c语言所携带的库函数设计和编写具有一定功能的程序。(系统调用,如open,write,read函数)注意:(1)shell下通过man mkdir 获得的是命令的帮助信息,man 2 mkdir获得的是系统调用的帮助信息,man 3 **获得的是库函数的帮助信息。(2)gcc不会自动链接某些库,需要在编译的时候使用 -l -L2.linux的文件结构?linux是一个操作系统,linux文件子系统是 阅读全文
posted @ 2014-03-04 22:09 elroyzhang 阅读(1121) 评论(0) 推荐(0) 编辑
摘要: 由于最近会研究socket编程,先编写了简单的客户端和服务器端,供以后使用时候不用再去重复造轮。贴出代码,再进行分析。client.c 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include... 阅读全文
posted @ 2014-03-04 09:29 elroyzhang 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 1.基本概念线性表:n个数据类型相同元素的有限序列。(比如矩阵,数组,字符串,堆栈,队列等)。特点:第一个元素无直接前趋,最后一个元素无直接后继,其余元素都有一个直接前趋和一个直接后继。存储结构:线性存储结构,链式存储结构。2.练习(1)两个递增顺序表(顺序存储),la,lb,顺序插入顺序表lc中。#include #include #define SIZE 6#define END 9999#define CHARGE 0typedef int ElemType;typedef struct list { ElemType elem[15]; int last;}... 阅读全文
posted @ 2014-03-02 22:23 elroyzhang 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 1.基本概念结点的度:树中每个结点具有的非空子树数或者说后继结点数被定义为该结点的度。(比如上图A节点的度为2,O节点的度为0)树的度:树中所有结点的度的最大值被定义为该树的度。(比如B节点的度为3)叶子结点:度等于0的结点称为叶子结点或终端结点。分支结点:度大于0的结点称为分支结点或非终端结点。每个结点的分支数就是该结点的度数。在一棵树中,每个结点的子树的根(或者说每个结点的后继)被称为孩子结点,该结点被称为父亲结点。(B节点子树为D,E,F,B节点为他们的父节点或者根)结点的层数从树根开始定义,根结点为第一层,它的孩子结点为第二层,以此类推。树中结点最大层数称为树的深度或高度。二叉树:是指 阅读全文
posted @ 2014-02-27 21:51 elroyzhang 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 功能:对一组数进行排序。基本思想:把待排数据中的数据一个一个插入以排好序的序列中,使整个数据成有序序列,如下图所示。(图片来源于维基百科)算法实现思想:有两个已知序列A,B,A为一组以排好序的数据,B为一组未排序数据。首先让A中只有一个数据,那么A必定为有序的,然后从B中逐个取出数据,插入A中,让A始终保持有序,知道B中的数据被取完,则A中的数据必定为有序的。#include void insertion_sort(int array[], int first, int last){ int i, j , k , x; int z; for(i = 1; i = 0; j -... 阅读全文
posted @ 2013-12-27 13:43 elroyzhang 阅读(249) 评论(0) 推荐(0) 编辑