xmkk

导航

 

2013年11月10日

摘要: 1、mdev的使用方法和原理: mdev是busybox 自带的一个简化版的udev,适合于嵌入式的应用埸合。其具有使用简单的特点。它的作用,就是在系统启动和热插拔或动态加载驱动程序时,自动产生驱动程序所需的节点文件。在以busybox 为基础构建嵌入式linux 的根文件系统时,使用它是最优的选择 下面介绍使用方法: 以字符设备char_dev为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用class_device_create创建对应的设备,这样的module被加载时,undev daemon就会自动在/dev下创建char_dev设... 阅读全文
posted @ 2013-11-10 11:57 xmkk 阅读(2112) 评论(0) 推荐(0) 编辑
 

2013年9月10日

摘要: 一、简介:堆即子结点的键值或索引总是小于(或者大于)它的父节点的二叉树。堆排序就是先将序列构造成堆,再利用堆的性质,第一个元素即是最大(或最小)的元素,进行排序。二、代码 1、heapadjust函数,用于将序列调整为堆/*l是待排序的数组,这个函数是让l[s..m]成为一个大顶堆*/void heapadjust(int *l,int s,int m){ int i,temp; temp=l[s]; for(i=2*s;i=l[i]) //再比较堆顶元素和孩子节点中较大孩子的大小 break; l[s]=l[i];... 阅读全文
posted @ 2013-09-10 18:21 xmkk 阅读(932) 评论(0) 推荐(0) 编辑
 
摘要: 一、简介:希尔排序是对插入排序进行优化得来的一种排序方法,插入排序有两个缺陷影响其效率,一是、排序时间主要消耗在查找插入位置和移动上,当序列特别无序时,耗时 增多二是、当序列数目特别大时,效率降低。优化后,先将序列分拆后进行插入排序,让序列基本有序后,在进行一趟插入排序。 一个更好理解的希尔排序实现:将数组列在一个表中并对列排序(用插入排序)。重复这过程,不过每次用更长的列来进行。最后整个表就只有一列了。将数组转换至表是为了更好地理解这算法,算法本身仅仅对原数组进行排序(通过增加索引的步长,例如是用i += step_size而不是i++)。例如,假设有这样一组数[ 13 1... 阅读全文
posted @ 2013-09-10 13:26 xmkk 阅读(997) 评论(0) 推荐(0) 编辑
 
摘要: 利用归并排序法对序列排序的示意图(递归法):一、算法分析:利用递归的分治方法:1、将原序列细分,直到成为单个元素;2、在将分割后的序列一层一层地按顺序合并,完成排序。细分通过不断深入递归完成,合并通过递归 一层层返回完成。二、C语言代码 1、完成排序的三个函数void MergeSort(int l[],int lenght){ int tmp[lenght]; MSort(l,tmp,1,lenght);}/*分:MSort将原来的序列不断细分,直到为1,再由Merge归并*/void MSort(int l[],int tmp[],int left,int right){... 阅读全文
posted @ 2013-09-10 00:01 xmkk 阅读(1623) 评论(0) 推荐(0) 编辑
 

2013年9月4日

摘要: 一、前序遍历创建二叉树,使用递归,头文件 BiTree.h/*槽点一:创建树时用scanf输入不成功*/#ifndef BITREE_H#define BITREE_H#include#includetypedef char ElementType;typedef struct treenode{ ElementType data; struct treenode *leftchild; struct treenode *rightchild;} TreeNode;/*使用先序遍历创建二叉树*/TreeNode *create_bitree(){ ElementType... 阅读全文
posted @ 2013-09-04 15:46 xmkk 阅读(21165) 评论(1) 推荐(2) 编辑
 

2013年9月3日

摘要: 一、思路:1、创建两个空栈A和B;2、A栈作为队列的入口,B栈作为队列的出口;3、入队列操作:即是入栈A;4、出队列操作:若栈B为空,则将A栈内容出栈并压人B栈,再出 B栈;不为空就直接出栈;二、代码: 1、头文件:stack_to_queue.h:封装了:队列、栈的数据结构和各种操作的函数。 1 #ifndef STACK_TO_QUEUE_H 2 #define STACK_TO_QUEUE_H 3 4 #include 5 #include 6 7 #define ALLOC_SIZE 512 8 #define ElemType int 9 10 t... 阅读全文
posted @ 2013-09-03 12:10 xmkk 阅读(5082) 评论(4) 推荐(2) 编辑
 

2013年8月30日

摘要: 下面是一个创建双向链表的函数,你能看出来它的一个致命错误吗? 1 Node *create() 2 { 3 ElemType data; 4 Node *head,*p,*s; 5 head=(Node*)malloc(sizeof(Node)); 6 head->before=NULL; 7 p=head; 8 cout>data;12 if(data==0)13 {14 p->next=NULL;15 break;16 }17 s=... 阅读全文
posted @ 2013-08-30 10:27 xmkk 阅读(519) 评论(0) 推荐(0) 编辑
 

2013年8月29日

摘要: 前提:链表结点结构体:typedef struct node{ ElemType data; node *next;}Node;1、最初设想:定义三个Node指针:pos、pre、the_next 分别指向当前结点、当前结点的上一个结点、当前结点的下一个结点Node* convert(Node *head){ Node *pos,*pre,*the_next; pos=head; pre=NULL; the_next=pos->next; while(pos!=NULL) { if(pre==NULL) //当前结点为... 阅读全文
posted @ 2013-08-29 11:57 xmkk 阅读(676) 评论(0) 推荐(0) 编辑
 

2013年8月20日

摘要: 1、程序的要求:对用户指定的英文文本文件(包括标准输入),将英文单词按照字母顺序输出到用户指定的文本文件中(包括标准输出),并且在各单词后面显示单词的出现次数。2、模块设计: 主要分为:1.从输入流获取单词部分 2.管理单词的部分 3.主程序部分:统一管理以上两部分3、代码 第1部分:get_word.c 主要是利用isalnum()函数判断单词的开始与结束/*get_word.c*/#include#include#include/*这个函数从输入文件fp获取单词,参数buf指向获取的单词,返回值返回单词长度或是EOF提示*/int get_word(char *buf,int buf_.. 阅读全文
posted @ 2013-08-20 15:33 xmkk 阅读(1403) 评论(2) 推荐(1) 编辑
 

2013年4月13日

摘要: 这是我遇到到错误:warning: rpmts_HdrFromFdno: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEYRetrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY.Dag.txtInvalid GPG Key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY.Dag.txt: No key found in given key data软件安装包已经已经下载,但无法安装,解决方法:Install DAG's GPG key :su 阅读全文
posted @ 2013-04-13 16:28 xmkk 阅读(2964) 评论(0) 推荐(0) 编辑