- 博客(15)
- 收藏
- 关注
原创 链表的基本功能,检查并消除循环插入
看着都简单,其实写起来不是这里出毛病,就是那里出毛病,要命的是,每次写法不同,毛病也不同……写这个博客用来做总结复习,还有就是看看能不能帮到小白学习数据结构,每当我发现自己感觉没什么可总结的,可说的,就写写博客,这样就有话了。链表(这里只是单链表)的基本功能包括:创建、插入、删除、清理、排序、查找等其他的功能。这里做一个总体的实现1.创建一个链表,并实现基本功能:创建、插入、删除、...
2019-08-02 19:13:49 348
原创 快速排序(C++实现)
快排在算法里面绝对是经典中的经典了,各种场合,各种面试题,大多都换汤不换药,基本的思想都是那样。所以今天就复习总结一下快排:最开始学习算法的时候,快排是那种从两头开排的,直到两边碰头就截止。是这样的,找到一个中轴temp(一般就取开头那个元素),从尾开始比较,直到找到比temp小的,交换一下当前的arr[i]与arr[j],这次比较完了就从头部开始找,直到找到比temp大的做同样的交换...
2019-08-02 13:47:15 380
原创 二分搜索
二分搜索,说白了,就是从对一个有序的排列中每次分一半进行查找元素。初学比较难把握的各个值得的范围限制,这属于数学的思维的,不多说,上代码吧。int binarysearch(int a[],int low,int high,int elem){ if (elem > a[high] || elem < a[low]) { return -1; } int...
2019-07-24 18:49:55 200
原创 一个简单的swap交换函数
基础比我想得重要,一不注意就出错了,而且真的不好找……今天就犯了一大打错,写交换函数的时候写错了,沉重的打击了我幼小的心灵……哎,是这样的。//这是一种错误的写法,形参传进来的是实参的地址,temp如果被赋值为a的地址//然后a指向的内存中的值是b指向的内存中的值,这一步是半成功的,因为,同时temp与a指向的内存相同,*temp和*b的值一样……//a原本指向的内存中的值被更改的,不知...
2019-07-19 11:40:07 1558
原创 静态库入门(VS2017&win10)
其实很早就接触到了DLL相关知识,只是最近项目要用到了,才想起来好好的学习一下。学习DLL前先学习一下静态库。静态库注意是Visual C++里面的Windows桌面,里面的静态库。建完之后得到这样的解决方案。生成的文件里面包括这些,自己写的代码不放在这些文件里面,新建一个ok.h与ok.cpp,注意里面要写进去#include "stdafx.h",不写的话得报错。/...
2019-05-18 15:59:43 303
原创 了解一下C++的析构函数
我不是写博客的,我只是博客的搬运工。是写还是不写呢,好像没什么用呀。其实我感觉《C++primer》里面对于析构函数讲解的不是很详细,总感觉析构函数的知识点不止这么多呀(可能我看的不仔细吧)……(这里纠正一下,之前我用的是vs2017的空项目,用system("pause")来暂停控制台,导致了析构函数的打印以及反汇编都没有看到调用析构函数,用控制台程序的时候就会调用析构函数,看来,只要构造了...
2019-05-13 18:40:28 234
原创 看看C++构造函数
这也是《C++primer》的笔记和心得,其实对于C++的构造函数很熟悉了,但常常感觉这么用,但都没有深究其中的原理和机制。趁此机会,好好的回顾一下。构造函数最大的作用就是构造函数并初始化对象,与普通的函数看上去最大的区别就是没有返回值了吧,返回值类型不是void,是没有返回值。还有就是函数名必须与类名相同,最常见的构造函数就是什么参数也不带,其实这个函数也是很重要的(缺省构造函数),因为在定...
2019-05-11 15:03:54 1447
原创 C++中的动态分配(《C++primer》笔记心得)
在C++中初步阶段中最难理解的估计就是这个,对程序中各部分的储存方式和位置也是从这里开始探究的,现在照着这本书,把感觉有意义重要的地方再说一般。以后可别忘了,不怕学不会,就怕学会了,然后忘了。1.new的操作很可能会失败,很可能会失败,很可能会失败呀,这下面的代码在我的电脑失败了。提示了一下bad_alloc异常。int main(){ int *temp; for (long l...
2019-05-07 23:25:09 209
原创 C++中类的初始化
这是《C++primer》的笔记和总结,在C++的类中,用来初始化类中的成员的方式多种多样,常常是依据这些变量的特性来决定的,比如const、static以及引用等类型。这里说的是最普通的初始化方式,估计用的也最少,是继承自C语言中的初始化机制。在C语言中,一个数组的初始化可以写成这样:int arr[5] = { 0 };#include <iostream>#in...
2019-05-05 18:08:39 2726
原创 浅析C++中的虚函数(二)
上一次总结了点虚函数的一点原理和基础,也都是比较平常的函数,这次涉及到一点C++中重要的析构函数。虚析构函数,在C++程序中,当基类中存在虚函数的时候,必然需要使得基类的指针对象指向其他派生类型的对象,当在结束的时候释放基类类型的指针会发生一些未定义的行为(没有析构派生类的对象,应该是内存泄漏),看一下代码:#define CRTDBG_MAP_ALLOC #include <...
2019-05-04 17:29:38 206
原创 浅析C++中的虚函数(一)
在C++中虚函数是很重要的一个知识点,对于它,还是感觉似懂非懂,这次写下来当作总结了吧。虚函数的思想是,根据指向或引用的对象类型调用虚函数,而不是根据指针本身或引用本身的类型,虚拟函数在运行时后期解析。换句话说,存在虚函数的类创建一个指向子类的指针或引用,当该指针指向子类时,可以调用派生类中重载父类的方法,没必要管派生类对象是什么,引用也是如此。具体的代码如下,注释说的很清楚了:#in...
2019-05-03 23:44:37 283
原创 QCheckBox&QButtonGroup
最近刚学Qt在看Qt5开发实战,刚开始嘛,一步一步学,记录一下学习过程,有些深入的先不追究。刚看完QCheckBox与QButtonGroup,其实这两个控件平时都很常见,觉得很有用,QCheckBox就是复选框,而QButtonGroup就是对复选框进行分组和布局的(暂且这么认为吧)。下面的代码都直接声明定义在一起了,省的来回切换,粘过去应该就可以跑。先看代码,再一个个解释一下。#incl...
2018-11-11 16:22:12 1732
原创 全排列应用问题
前几天碰到一个算法问题,涉及到全排列。刚好也想温习一下算法,所以就写出来,意思意思。题目大致是这样的: 有9个数字,分成3组,每组中的三位数分别构成一个数,使得这三个数的比例为1:2:3。 问:有多少组这样的数,分别打印出来。 上代码:#include "stdio.h"#include "stdlib.h"int count(int i); ...
2018-10-21 23:19:24 289
原创 用C++写的C++词法分析器
这是学校实验做的一个小实验,前前后后,断断续续的花了我差不多一下午的时间,电脑里是不存代码了,写到这里,蹭访问量吧! (详情代码里都有注释,如有需要交流的欢迎加qq:2152574098,楼主小白一个)#include <iostream>#include <string>#include <map>#include <fstre...
2018-10-21 23:15:02 962
原创 从汉诺塔看递归
刚入门算法,首先接触到的就是递归。在网上查了一下,几乎都说递归特别简单,弄得我心里慌得不得了,我就在想:为什么我感觉递归总是不懂,这感觉不对劲啊!但也没过分追求,不懂就不懂吧,回头再说。今天有空,就把这个当初看到的汉诺塔问题写一下,总结总结,问题什么的就不多说了,直接上代码(这代码是借鉴别人的)。#include <iostream>using namespace std;...
2018-03-31 11:31:12 1222
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人