![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
project
文章平均质量分 57
ningwuwu
这个作者很懒,什么都没留下…
展开
-
项目1:C语言实现贪吃蛇小游戏
实现这个小游戏我们可以分为以下几步:1.把蛇要走的地图打印出来;2.把蛇和食物打印出来;3.让蛇动起来,控制方向;4.判断蛇目前所处状态。//.C文件#include"Snack.h"void SetPos(int x,int y){ COORD pos = {0}; HANDLE handle = NULL; handle = GetStdH...原创 2018-10-28 21:09:08 · 337 阅读 · 0 评论 -
文本相似度检测小项目
项目介绍 文本查重的方式有很多,但都离不开分词这一项,所以在这里我选择jieba库来代替我分词; 相似度求法也很多,比如说余弦距离、欧几里得距离、曼哈顿距离等等,这里我选择余弦距离,比较容易理解。 项目规划 分词 统计词频 构建余弦向量 求余弦距离 项目过程 引入jieba库,这个库可以在网上直接找到,下载之后配置到项目中即可; 创建一个TestTextSim...原创 2019-03-09 22:37:55 · 662 阅读 · 0 评论 -
继承
1.什么是继承?无非就是字面意思,继承家产而已。官方说法:面向对象程序设计使代码可以复用的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称为派生类。特点:呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程,继承使类设计层次的复用。class Person{public: Person(string name = "david",i...原创 2018-12-17 12:32:21 · 170 阅读 · 0 评论 -
stack和queue的操作和实现
stack的操作|函数名| 功能 ||–|--|| stack(const container_type &ctnr = container_type()) | 构造空栈 ||bool empty() const判断栈是否为空||size_type size() const|返回栈的长度||value_type &top()|返回栈顶元素的引用||const val...原创 2018-12-10 13:56:52 · 156 阅读 · 0 评论 -
vector的使用方法
一、vector的构造函数函数名 功能 vector() 无参构造 vector(size_type n, const value_type &val = value_type()) 构造并初始化n个val vector(const vector& x) 拷贝构造 vector(InputIterator first,InputItera...原创 2018-12-04 09:47:57 · 1666 阅读 · 0 评论 -
vector类接口实现
namespace VECTOR{ template<class T> class vector { public: typedef T* Iterator; typedef const T* ConstIterator; Iterator begin() { return _start; } Iterator end() { re...原创 2018-12-03 23:15:13 · 243 阅读 · 0 评论 -
list类的使用方法
一、list的底层构造1.list是可以再常熟范围内任意位置进行插入、删除的序列式容器,并且list还可以前后双向迭代;2.list的底层是一个双向链表结构,list和forward_list非常相似:forward_list是单链表。只能朝前迭代;3.list保留了链表的基本特性。二、list的构造函数名 功能 list() 构造空的list list(s...原创 2018-12-06 10:43:48 · 794 阅读 · 0 评论 -
list接口实现
//模拟实现list容器namespace LIST{ template<class T> //list的节点类 struct ListNode { ListNode(const T& val = T()) : _pPre(nullptr) , _pNext(nullptr) , _val(val) {} ListNode* ...原创 2018-12-05 08:59:42 · 184 阅读 · 0 评论 -
list的iterator
template<class T, class Ref, class Ptr> class ListIterator { typedef ListNode<T>* PNode; typedef ListIterator<T, Ref, Ptr> Self; public: ListIterator(PNode pNode = nullptr)...原创 2018-12-05 08:43:04 · 288 阅读 · 0 评论 -
string类接口实现
namespace bit{ class String{public: typedef char* Iterator;public: String(const char* str = " ") { if(str == nullptr) { assert(false); return ; } _size = strlen(str); _capacit...原创 2018-11-30 16:16:18 · 265 阅读 · 0 评论 -
string类使用方法
一、string类对象的常见构造函数名功能string()构造空的string类对象,即空字符串string(const char* s)用C-string来构造string类对象,即空类中包含字符串string(size_t n,char c)string类对象种包含n个字符cstring(const string& s)拷贝构造函数...原创 2018-11-30 16:02:04 · 266 阅读 · 0 评论 -
类与对象3
注:这是一篇补充博客。一、构造函数补充;1.构造函数体赋值:在创建对象时,编译器通过调用构造函数,给对象中每个成员一个合适的初始值。class Date{public: Date(int year, int month, int day) { _year = year; _month = month; _day = day; }private: int _year...原创 2018-11-17 18:08:45 · 184 阅读 · 0 评论 -
类与对象1
1、类定义最简单来说,类就是定义了一个新的类型和新的作用域。class Student{ //类体;由类成员(成员函数和成员变量等)组成 };//后面一定要加上分号(因为在类定义之后可以接一个对象定义列表)class为定义类的关键字,Student为类的名字,{}为类的主体,后面分号不能丢。类中的元素成为类的成员,类中数据称为类的属性或类的成员变量;类中的函数称为类的方法或者类的成...原创 2018-10-30 20:35:09 · 156 阅读 · 0 评论 -
动态内存管理
一、内存分布先看C++中程序内存区域划分。1.栈又称为堆栈,非静态局部变量/函数参数/返回值等;2.内存映射是高效I/O映射方式,用作进程间通信;3.堆用于动态内存分配;4.数据段存储全局数据和静态数据;5.代码段一般就是可执行代码;6.内核是用户不能操作的那部分。二、C++和C语言的动态内存管理在C语言中我们都知道,C语言的动态内存管理一般用malloc/...原创 2018-11-18 20:18:08 · 142 阅读 · 0 评论 -
用C语言编写简单游戏——三子棋
先简单介绍一下三子棋的规则,方便我们接下来的编程和理解。规则如下: 在九宫格棋盘上,只要将自己的三个棋子走成一条线(横、竖、对角线),对方就算输了。 规则很简单,但是我们应该从哪里入手完成这个三子棋程序呢? 首先,我们的游戏程序应该先有个菜单页面,这个菜单页面用来让用户操作选择玩游戏,或是退出。界面可以很简单,只需要几条 printf 语句即可:...原创 2018-04-07 23:35:50 · 1724 阅读 · 1 评论