自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 问答 (2)
  • 收藏
  • 关注

原创 数据结构学习笔记(7)---二叉树递归与非递归遍历

对与二叉树的便遍历有递归遍历与非递归遍历,递归遍历理解起来较简单,容易理解,代码书写简单,但是效率比较低下,对于非递归算法,虽然效率较高但是代码相对对一,且不是那么好容易理解,下面就进行一一解释数据结构typedef struct Tree{ int date; struct Tree* lchild; struct Tree * rchild;}BiTree,*PBiT

2017-09-22 16:17:17 213

原创 两个栈实现一个队列

思路:对于两个栈实现一个队列,其实也很简单,只要弄清楚如何合作两个栈就很好写代码了,首先把一个栈当做入队的容器。即记为栈1,此时该入栈就相当于入队,但是出队的时候就有些麻烦了,首先把栈1的元素放入栈2,取出战二的栈顶即实现栈,最后一步再栈二放入栈1,这样就实现了出队。代码:#include <iostream>using namespace std;#define MAXSIZE 20typ

2017-09-16 15:19:54 138

原创 数据结构学习笔记(5)---静态与动态队列

(一)静态队列数据结构:typedef struct Node{ int date; struct Node *next;}Node, *PNode;typedef struct queue{ PNode top; PNode bottom;}Queue, *PQueue;(1)初始化void InitQueue(Queue *queue){ que

2017-09-16 13:46:36 1265

原创 数据结构学习笔记(4)---静态与动态栈

对于静态栈其实就是一个记录最后一个元素位置的数组,对于动态栈其实就是一个头插法创建链表,因为比较简单,所以就不过多赘述,在这里简单实现以下:(一)静态栈数据结构:typedef struct Stack{ int elem[MAXSIZE]; int top;}StaticStack;(1)栈的初始化void InitStack(StaticStack * s){ s-

2017-09-15 14:11:10 865

原创 数据结构学习笔记(3)---循环链表(约瑟夫环问题)

最近学习循环链表,其实循环链表的本质和单向链表没有多大区别的,只是在创建时把最后的指针指向头结点,但是当想用循环链表解决约瑟夫环的问题时,要去掉头结点。(1)循环链表的创建void CreateCircleList(pCircleNode pHead){ int date; cout << "请输入节点得值:"; cin >> date; pCircleNode p

2017-09-15 13:09:25 368

原创 数据结构学习笔记(2)---双向链表

其实双向链表原理和单向链表原理差不多,只不过是多了一个反向指针,双向链表在操作可以从两个方向进行,即头指针和为指针,这样做得优点是操作就近原则,提高效率。此内容包括:双向链表的初始化创建双向链表用头指针遍历双链表用尾指针遍历双链表按索引查找节点按索引删除节点按索引添加节点(1)双向链表的初始化void InitDoubleList(pDLinkList *pHead, pDLinkL

2017-09-13 16:35:44 207

原创 数据结构学习笔记(1)---单向链表

数据结构学习笔记—单向链表链表的初始化头插法创建链表尾插发创建链表链表的显示按索引值查找节点按索引值删除节点按索引值添加节点(1)链表的初始化void InitList(pListNode *pHead){ *pHead = new ListNode; (*pHead)->next = NULL;}(2)头插法创建链表void HeadCreatList(pL

2017-09-13 13:09:57 297

原创 Ubuntu网络配置

对于Ubuntu网络配置,真是费了我一些小心思 去研究,第一开始的初衷是想用Linux去上网,但是发现链接不上网络,于是上网搜了搜解决办法如下:首先对于打开主机的网络共享中心,会发现有两个VMnet1 和VMnet8,VMnet1 其实就是一个Host-Only网络模式,再次没用到因此不做过多介绍(其实我也不太清楚,只是正在学),但是VMNet8这是一个NAT方式,最简单的组网方式了,右键VMne

2017-09-08 15:03:11 489

原创 MFC view区画直线延迟文问题

今天遇到一个非常恶心的问题,就是在View区域画直线时,画出来后怎么也不显示,只有在连续点击数遍多次或者鼠标移动到工具栏师才出现刚才画的线,于是我很是纳闷,不知道原因何在,但是我想到以前有EasyX控制台画图时也出现类似情况,难道和操作系统有关系,于是果断上网查了查,尼玛,果然不出如此,桌面主题也有一定关系,于是得出以下解决办法:1. 把Windows的主题改为Windows经典 2. 画完线

2017-08-31 23:09:36 317

原创 MFC中有三种文件操作的类 CFile ,CArchive,CDocument

MFC中有三种文件操作的类,他们分别为CFileCArchiveCDocument下面分别对每个进行使用说明(1)CFile在使用的时候比较麻烦,一般需要先定义一个结构体,然后对其每个结构体进行存储,存储实例代码如下:void CTest1Dlg::OnSave() { static char szFilter[] = "Chart Files (*.xlc)|*.xlc|Work

2017-08-26 17:51:38 1739

原创 如何删除GitHub上的repositories

今天使用GitHub创建了一个垃圾项目,但是想删除,但是始终找不到从何删除,很是郁闷,心想我是不是忒笨了,于是上网搜了才知道,特写小博客一篇,希望对你有所帮助。(1)打开GitHub进入主页(2)点击你想要删除的项目(3)选择红方框的setting(4)下来到最后选择delete this repository(5)添上这个repository的

2017-08-23 22:36:50 860

原创 Github 使用 与 Git的链接

最近在研究怎样使用GitHub,听老师说在这上面可以看到很开源项目,并且进行自己项目的托管,非常有用,说不定在面试的时候可能也会遇到会不会用GitHub的问题,所以在此进行这两天的学习成果记录一番(1)注册GitHub账号(进入官网直接可以注册)(2)注册完成后进行第一个repositories的尝试,单机有右上角的+标志,进行new repositories (3)填写项

2017-08-22 14:09:29 893

原创 用c++写的俄罗斯方块

由于刚学完c++,就选了俄罗斯方块当练手项目,完善还算可以,因此特写博客一篇,记录开发过程遇到的问题以及心得,特此分享虽然感觉实现的不是很完美,但会继续完善,望大佬多多指教开发工具:vs2012(旗舰版)绘图库函数:EasyX_20151015(beta)缺点:(1)运行效率低(2)感觉比较繁琐(3)代码量太大(4)可以尝试用多线程(5)j界面比较繁琐,可以试着写用MF

2017-08-11 17:06:01 2786

原创 c++中不同场景构造函数的次序问题:

1.普通类的构造函数:(1)首在定义类时传参数指针this到构造函数(2)按类中数据成员声明的次序一一进行分配内存空间并初始化(3)执行构造函数的函数体  普通类的析构函数:(1)首先执行函数体(2)对成员变量释放空间2.继承与派生的构造函数(1)首在定义类时传参数指针this到构造函数(2)依照基类在构造函数中的定义次序调用基类的构造函数,初始化他们的成员(从

2017-08-05 10:52:26 291

原创 几行代码道出了指针,类型转换,浮点存储,小端存储的本质

先上代码:#include using namespace std;int main(){ int a[] = {1,2,3}; double *p = reinterpret_cast(&a[0]); *p = 5; cout << a[0]<<" "<<a[1]<<" "<< a[2]<<endl ; return 0;}想了好久都没有得到答案,在CSDN

2017-07-29 15:50:16 302

原创 图形钟表的实现

下午突然对于做图形钟表来了兴趣,就用c语言实现了一番,小有成就感,特写博客一贴,以此分享:用到的预备知识:1.获取当前系统时间:头文件:#include 定义函数:struct tm *gmtime(const time_t *timep);函数说明:gmtime()将参数timep 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm 返回。举例:#i

2017-07-28 22:08:41 537

原创 友元的使用用法:

今天学习了友元类,感觉收获甚丰,特此记录一番,如有纰漏之处,望多多指教。引入友元的目的:友元关系提供了不同类或对象的成员函数之间。类成员函数与一般函数之间进行数据共享的机制例子最能清楚地表达友元的用法,直接上例子1.普通友元函数的使用:例子:#include using  namespace std;class X//需要提前声明class Y{

2017-07-25 19:58:20 889

原创 浮点型的存储方式

浮点型的存储方式及实例:是单精度还是双精度在存储中都分为三个部分(float为例):符号位(Sign) : 0代表正,1代表为负指数位(Exponent):用于存储科学计数法中的指数数据,并且采用移位存储(中间八位)尾数部分(Mantissa):尾数部分(最后23位)即: V = (-1)^s×M×2^E  (1)(-1)^s表示符号位,当s=0,V为正数;当s=1,V为负

2017-07-24 21:52:46 635

原创 MFC 控件学习心得:

一.控件型关联变量:(1)任何VC内部的window基础控件都有一个固定的控件类可以与之建立控件型关联变量。(2)有一些控件类是多种控件公用的,例如:按钮,单选按钮,复选框,分组控件的公用CButton类。(3)有的控件不但可以建立控件型关联变量,还可以建立数值型关联变量。二.数值型关联变量:(1)UpdateData()代入的TRUE代表从界面中输入数据到关联的变量

2017-07-23 21:02:37 550

原创 窗口与控件关联的方式:

窗口与变量的关联方法:(1)也是最简单的一种 就是在每次使用一个控件是用GetDlgItem()函数获得一次操作权但是比较繁琐并且生命周期比较短(2)CWnd :: Attach();与之对应CWnd::Detach();第一步:在对话框类中声明一个该控件类的变量CListCtrl m_list;第二部:在对话框的初始化函数中HWND hWnd = ::GetDlgItem(m_h

2017-07-23 16:26:41 997

原创 MFC 控件随着对话框大小的改变而改变

1.控件随着对话框的最小化,最大化而改变大小步骤:(1)首先在对话框类中定义一个CRect oldRect的类(2)在Initstance()函数中获得GetClientRect(&oldRect) (3) 添加WM_SIZE函数 OnSize()函数(4)在响应函数中添加如下代码:  for (int i=1;i  {CWnd *pWnd; pWnd = GetD

2017-07-19 23:02:52 1028

原创 MFC 中ADO链接sql server 数据库

一.MFC中ADO链接数据库通常有四个步骤(1)引入ADO文件(2)初始化OLE/COM库文件(3)利用Connection对象连接数据(4)利用建立好的链接,通过Connection,Command对象执行SQL命令,或者利用Recordset对象取得结果进行查询和处理1.引入ADO文件#import "C:\Program Files\Common Files\

2017-07-18 20:55:13 462

原创 MFC最近学习小结

一个WIN32工程如何转化为MFC工程?前提条件:(1)有一个CWinAppp派生类(2)创造一个全局变量该派生类(3)进入设置里面可以使用MFC类库(4)在该类中定义一个初始化虚函数Initstance()二.MFC的六大关键技术(1)MFC程序的初始化过程(2)消息映射机制(3)运行时类型识别(4)动态创建(5)永久保存(

2017-07-12 09:03:34 401

原创 产生整形随机数 浮点型随机数

产生整形随机数  浮点型随机数 今天突然遇到产生随机数的问题  也就查了查   并做以下总结:首先产生随机数有多中,下面就只说两种:第一: 固定种子的随机数直接用rand()(1)无种子的随机数int main(){for(int i=0; i{printf("%d  ",rand()%100);}return 0

2017-07-07 22:01:37 634

原创 MFC ODBC 多表查询 使用成员函数GetFieldValue()

刚开始学习数据库    不知道多表查询怎么操作,第一次也就直接用 CCset cmerSet;if( !cmerSet.Open(CRecordset::forwardOnly,"select * from goods,order_num where goods.gno= order_num.gno",CRecordset::readOnly))//,,{ AfxMessa

2017-07-07 15:06:56 1897

转载 c语言标准字符串函数的使用

MFC的CString类型有许多缺陷。对一般的应用程序,字符串管理器对象的内存分配方案足以应付,但是,对于大量使用字符串的代码(或多线程代码),默认的内存管理器可能就无法理想地工作。如多线程应用程序的局部CString变量使用不当很容易造成内存泄露。很多时候我们需要用到char*类型。char* strcpy(char *dest,const char *src)    将字符串src复制到d

2016-11-27 14:38:42 378

原创 c语言中函数memset()用法

功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,  块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作  用 法: void *memset(void *s, char ch, unsigned n);  程序例:  #include   #include   #include   int m

2016-11-27 14:29:55 247

空空如也

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

TA关注的人

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