自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 操作系统的研究

最近一直在研究uc/os操作系统,想把它移植到8051f单片机上,用于自己课题的研究!开始看的时候那叫一个绕啊,记得研究生阶段设计模式就已经很饶了uc/os比他好绕!并且里面还包含了一些链表的操作(多亏之前把数据结构好好复习了一遍)!基本理论看的差不多了,下面该进入移植阶段了!去板子上跑跑吧! 

2011-06-10 21:45:00 471

原创 数据结构学习系类列十七-树形搜索

<br />树形搜索主要有:<br />1 二叉搜索树<br />2 AVL树<br />3 红黑树<br />4 Trie树<br />二叉搜索树:<br />#include<iostream>using namespace std;class BinarySearchTree;class BinaryNode{public: int element; BinaryNode*leftChild,*rightChild; BinaryNode(int m_element,B

2011-05-31 16:12:00 479

转载 数据结构学习系类列十六-排序总结篇

<br />前几天应一个朋友的要求,帮他完成了数据排序的一个作业。觉得很有给大家参考的价值,所以经过他同意,作了些修改帖了上来。源代码见附件,代码中实现了8种排序算法,各算法名称见下表或见源码。运行程序时,将需要你输入一数值,以确定对多少随机数进行排序。然后将会显示各排序算法的耗时。并且你可选择时否进行正序和反序测试。<br />由于水平有限,可能存在一些错误,还请各位多多指点! <br />通过实验我们可将结果列入下表。 <br />以下是VC6.0(Release)+win2000pro+128MDDR

2011-05-31 10:02:00 465

原创 数据结构学习系类列十五-基数排序

设单关键字的每个分量的取值范围均是C0

2011-05-31 09:59:00 374

转载 数据结构学习系类列十四-归并排序

前几天应一个朋友的要求,帮他完成了数据排序的一个作业。觉得很有给大家参考的价值,所以经过他同意,作了些修改帖了上来。源代码见附件,代码中实现了8种排序算法,各算法名称见下表或见源码。运行程序时,将需要你输入一数值,以确定对多少随机数进行排序。然后将会显示各排序算法的耗时。并且你可选择时否进行正序和反序测试。由于水平有限,可能存在一些错误,还请各位多多指点! 通过实验我们可将结果列入下表。 以下是VC6.0(Release)+win2000pro+128MDDR+P4(1.6G) 因为在多任务操作系统下,系统

2011-05-31 09:41:00 303

原创 数据结构学习系类列十三-交换排序

<br />交换排序主要:<br />(1)冒泡排序<br />(2)shaker排序<br />(3)快速排序<br />冒泡排序:<br />#include<iostream>#include<vector>using namespace std;class BubbleSort{private: int len; vector<int> list;public: BubbleSort(vector<int> m_list,int m_len); void bu

2011-05-30 21:17:00 341

原创 数据结构学习系类列十二-选择排序

<br />选择排序主要有:<br />(1)直接选择排序<br />(2)堆排序<br />直接选择排序:<br />#include<iostream>#include<vector>using namespace std;class SelectSort{private: int len; vector<int> list;public: SelectSort(vector<int> m_list,int m_len); void selct_sort();

2011-05-30 21:15:00 478

原创 数据结构学习系类列十一-插入排序

<br />选择排序可以分为三种:<br />(1)直接插入排序<br />(2)二分法插入排序<br />(3)希尔排序<br />直接插入排序:<br />/*时间效率为 O(n^2),对于小数组,插入排序简单易行,对于大数组效率过低,不宜采用。*/#include<iostream>#include<vector>using namespace std;class InsertSort{private: int len; vector<int> list;p

2011-05-30 17:19:00 464

原创 数据结构学习系类列十-链表集合(c++)

<br />1 链表集合数据结构与操作定义<br />class ListSetNode{ friend class ListSet<T>; T data; ListSetNode<T>*link;public: ListSetNode():link(NULL){} ListSetNode(T value):link(NULL),data(value){}};template<class T>class ListSet{ ListSetNode<T>* hea

2011-05-30 10:51:00 471

原创 数据结构学习系类列九-位向量集合(c++)

<br />1 位向量的数据结构与一些操作<br /> class VecSet{ int* contain; int size;public: VecSet():contain(NULL),size(0){} VecSet(int maxsize); void Add(int add); //向集合中添加元素 void Del(int del); //删除集合中的元素 void MakeEmpty(); //清空集合 int GetSize(){return siz

2011-05-30 10:47:00 981

原创 数据结构学习系类列八-二叉树的一些操作(c++)

二叉树的主要操作有:(1)创建一个二叉树(插入值)(2)递归法进行前序、中序、后序遍历(3)非递归法进行前序、中序、后序遍历(利用栈)(4)二叉树中节点的最大距离(5)二叉树的深度(6)在二叉树中进行信息的查找(7)二叉树节点的数目(8)二叉树中子节点的数目(9)判断两个二叉树是否等价(10)判断整数序列是不是二元查找树的后序遍历结果(11)二叉树的镜像(12)输入二叉树,从上向下按层打印,同一层从左到右(13)将二叉树转化为一个双向链表1 二叉树节点的数据结构与二叉树类的建立#include#incl

2011-05-28 10:32:00 698

原创 数据结构学习系类七-循环队列(c++实现且应用模板)

<br />队列:先进先出<br />栈:先进后出<br />用数组实现的队列为链式队列。<br />class CirQueue{private: int size; int front; int back; T* contain;public: CirQueue():size(0),front(0),back(0),contain(NULL){}//构造初始化 CirQueue(int maxsize); void EnQueue(const T&element)

2011-05-26 11:01:00 942

原创 数据结构学习系列六-链式栈(c++实现且应用模板)

虽然链式栈是利用链表实现的,但是它与链表类还存在着很多差别。首先,链式栈没有表头结点,而链表类为了统一对空表和非空表的操作而引人了表头结点。其次,链表栈没有表头指针和表尾指针,而链表类用这两个指针标识链表的开始和结束。最后链表中的很多方法不适用于链式栈。以下是实现了一个链表栈:(1)先定义一个链表节点的类(2)在定义一个链式栈类及其实现操作#includeusing namespace std;template class ListStackNode//定义链表节点{public:

2011-05-26 09:32:00 632

原创 数据结构学习系列五-顺序栈(c++实现且应用模板)

 注意清空栈的方法#includeusing namespace std;templateclass ArrayStack{private: int size;//栈的大小 int tos;//栈顶索引 T*contain;public: ArrayStack():size(0),tos(-1),contain(NULL){} ArrayStack(int maxsize); ~ArrayStack(); void Push(const T&element

2011-05-25 21:13:00 663

原创 c++编程细节

<br />void Push(const T&element)与 void Push(T&element)的区别<br />后则无需传递数值,所以<br />在mian中调用<br />int main()<br />{<br />Push(4);<br />}<br />会出现error:错误 1 error C2664: 'ArrayStack<T>::Push' : cannot convert parameter 1 from 'int' to 'int &' f:/c++/algorithms1

2011-05-25 21:08:00 388

原创 数据结构学习系列四-顺序栈(c语言实现)

顺序栈设计Stack类(1)定义好数据成员,本设计需用数组作为栈的容器且包含一个栈顶;#define STACK_SIZE 20struct Stack{ int top; int data[STACK_SIZE];};(2)实现一个栈void InitStack(Stack*s)//初始化栈bool IsEmpty(Stack*s)//判断栈是否为空bool IsFull(Stack*s)//判断栈是否满bool Push(Stack*s,int element)//向栈中压入值element

2011-05-25 20:18:00 798 1

原创 数据结构学习系列三-单向循环链表(c++实现且应用模板)

单向循环链表且带模板的实现真正意义上c++实现节点数据结构采用class形式,为了方便操作数据结构用public。#includeusing namespace std;/*1 应用模板 2使用class定义node,而不是struct *///链表节点templateclass ListNode{public://引用public,避免了使用get,set所带来的麻烦 T data; ListNode*next;public: ListNode(ListNode

2011-05-25 16:32:00 1502

原创 数据结构学习系列二-链表的C++实现

1 先定义一个链表的结构体(1)包括数据 int data(2)下一个节点 Node*Next2 定义一个链表类#includeusing namespace std;/*单向链表head为头节点,头结点不包含在链表中,所以在计数时不包含头结点*/struct Node{ Node*Next; int data;};class NodeManager{private: Node*head; Node*tail;public: NodeManager()

2011-05-25 15:26:00 451

原创 数据结构学习系列一--链表的建立(c语言实现)

 1 定义链表的数据结构struct ListNode{  ListNode*Next; //指向下一个节点  int m_value;     //值};2 创建链表(1) 先建立链表头和链表尾且头尾相同 printf("input number"); scanf("%d",&x); head=tail=(struct ListNode*)malloc(sizeof(struct ListNode)); head->Next=NULL; head->m_value=x;(2)利用循环进行链表的插入(尾部插

2011-05-24 17:05:00 541

原创 参考文档

<br />http://www.cplusplus.com/reference/

2011-04-22 08:58:00 276

原创 java 编译中的问题

<br />1 首先我们写一个简单的带有包头的java函数<br />package com.qiao;<br />public class Server<br />{<br />    public static void main(String agrs[])<br />    {<br />     <br />     System.out.println("nihao");<br />    }<br />}<br />2 在cmd下进行编译<br />由于此类实现含有一个包头package co

2011-04-16 11:08:00 288

原创 最近的最近

<br />     最近一直在忙啊,忙着给写小论文,忙着给体育部老师写论文(跨行了,挺难写的!),忙着准备开题报告!不过在忙的同时也有时间出去happy一下,还认识很多新朋友,很多可爱的朋友!生活就这样吧,忙中带着点悠闲,悠闲中夹着充实的忙碌!

2011-03-22 18:26:00 239

转载

<br />先给豆瓣做个广告,这一年看书和看片子开始使用豆瓣记录了,douban真是个好东西,就用豆瓣链接来完成这篇日志吧。<br />技术类的如下:<br />1. 《 写给大家看的面向对象编程书(第3版)》:完全看完。OO很基础的一本书,读起来很轻快,收获不是非常大,虽然语言写的不错。<br />2.《Head First 设计模式(中文版)》:完全看完。OO设计模式给力牛书,个人极为推荐设计模式初学者看,Java描述,一个个鲜活的案例和场景把面向对象设计和设计模式写的淋漓尽致,中国何时能写出这样的书呢

2011-02-22 16:52:00 396

原创 年度总结

2010学习上:在毕业课题与老师项目中度过,还“被”了个省级创新项目。总感觉自己有学不完的东西,选择了工科就这样呗!读了几本季羡林的书感觉还不错!大师就是大师!生活上:一周一次的篮球是肯定的,貌似篮球技术有所增长!呵呵!偶尔去文登游个泳泡个温泉!假期教了两个假期的游泳,朋友越来越多了!文登快是我在威海的第二基地了。闲来没事,和朋友们瞎扯扯!或者找场好看的NBA、足球看看!感情上:不想谈,一直在回避!没意思!2011学习上:继续努力,好希望毕业设计早点做完!因为还有好多事要做!尽力吧!多读几本课外书!生活上:

2010-12-31 20:56:00 1555 2

原创 汇报

<br />年前最后一次汇报结束了!年前工作结束了!呵呵

2010-12-30 10:45:00 290

原创 S3C2240试验一---------I/O续(原创)

<br />上午刚弄完一篇paper,中午闲着没事把自己昨天写的代码优化了一下,这样看起来结构更加紧凑且易于扩展,拿出来分享一下!<br />Init.S------------------------启动代码(和前面的一样)<br />2440adr.h------------------主要是一些寄存器的地址信息<br />2440lib.h--------------------功能函数的声明,如Delay(int x),Init_Port().....<br />2440lib.c---------

2010-12-25 14:32:00 1209

原创 S3C2240试验一---------I/O(原创)

<br />本开发应用天嵌公司出品的TQ2440,内核采用S3C2440。<br />LED_1连接到GPB5<br />LED_2连接到GPB6<br />LED_3连接到GPB7<br />LED_4连接到GPB8<br />启动代码 Init.S<br />   IMPORT main<br />   AREA Init,CODE,READONLY<br />   CODE32<br />   ENTRY<br />   B main<br />   END<br />注意每行前面的空格(ads环境中

2010-12-24 21:47:00 1367

原创 ARM9存储控制(个人愚见,不对地方请高手指教)

<br />(1)Nand Boot:<br />                 用户可以将引导代码(我们通常说的bootloder)和操作系统镜像文件放在外部的Nand Flash中,并且从Nash Flash启动。当处理器在这种模式下上电复位时,内置的Nand Flash控制器将访问控制接口,并将引导代码(bootloder)自动加载到内部的SRAM中(此时SRAM定位于其实地址空间0x00000000,容量为4kb,处理器自带的),然后,SRAM中的引导程序(bootloder)将操作系统镜像文件加

2010-12-24 21:35:00 1255 1

原创 汇编语言常见错误

<br />1 写汇编时,一定要注意空格<br />如AREA  Init ,CODE,READONLY<br />注意AREA不能顶格写,前面一定要有空格

2010-12-21 21:59:00 602

原创 对s3c2440的存储控制及启动代码的理解

<br />对于s3c2440、s3c2410这样的片子,并不是想51那样简单的内存和启动操作<br />1、这两种芯片的地址线为addr0~addr26共有27条地址线即为128MB的寻址范围,为了更广的范围芯片厂家就多加了nGCS0~nGCS7(有了所谓的bank0~bank7),8个引脚作为外部的扩展即128*8MB=1GB的寻址范围。理论上这芯片有4GB(2的23次方)的寻址范围和采用统一编址的方式。但并不是全都用到的一般只用到其中的一部分。即可分为:外部地址空间bank0~bank7(0x0000

2010-12-20 19:46:00 470

原创 S3C2440的程序启动过程

<br /> 刚开始的时候看了英文的关于S3C2440启动方式的Datasheet,一头雾水啊,然后再通过网上不断的搜索和学习慢慢的领悟了2440两种启动方式的真正的本质。针对mini2440的开发板总结了下个人的经验。<br />      所有程序的启动指针都是从0x000000开始的,2440的启动方式也肯定是这样的,那么两种启动方式区别在哪里了:关键是启动时候的系统存储空间的映射不同。<br />     启动方式一  直接启动,就是系统从一上电开始,程序的指令从0x000000000开始,存储空间

2010-12-20 19:40:00 1551

原创 LPC2114启动代码(最近玩的板子)

<br />启动代码是芯片复位后进入C语言的main()函数前执行的一段代码,主要为运行C语言程序提供基本运行环境。启动代码可划分为四个文件:startup.s、stack.s、heap.s、target.c。其中startup.s包含异常向量表和系统初始化代码,stack.s和heap.s保存C语言使用的堆和栈的开始位置,target.c包括异常处理程序和目标板特殊的代码。<br /> <br />1、异常向量表(代码位于startup.s中,无需修改)<br /> <br />   异常是有内部或外部源

2010-12-17 16:51:00 854

原创 ARM启动代码(适用于arm9)

<br />启动代码是几乎是每个arm程序程序必备的,刚开始看的时候看别人的启动代码时感觉云里雾里,所以懒惰的想法浮现脑中:别人都写好了我还写什么,直接拿来用不就行了,对在我懂得情况下,我一定会拿来就用,但是现在我还不懂,一切就要从头开始,经过几天的努力,现在的感觉是启动代码不过如此 :) ,呵呵。 <br /><br /><br /><br /><br /><br />;--------------------------------------------------------------------

2010-12-17 16:49:00 2183 1

原创 开通博客记录研究生学习的点点滴滴!

<br />加油!主攻方向:嵌入式,arm,手机嵌入式设计!电源管理系统设计

2010-11-16 18:46:00 407

空空如也

空空如也

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

TA关注的人

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