
project
文章平均质量分 61
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 · 390 阅读 · 0 评论 -
文本相似度检测小项目
项目介绍 文本查重的方式有很多,但都离不开分词这一项,所以在这里我选择jieba库来代替我分词; 相似度求法也很多,比如说余弦距离、欧几里得距离、曼哈顿距离等等,这里我选择余弦距离,比较容易理解。 项目规划 分词 统计词频 构建余弦向量 求余弦距离 项目过程 引入jieba库,这个库可以在网上直接找到,下载之后配置到项目中即可; 创建一个TestTextSim...原创 2019-03-09 22:37:55 · 720 阅读 · 0 评论 -
继承
1.什么是继承? 无非就是字面意思,继承家产而已。 官方说法:面向对象程序设计使代码可以复用的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称为派生类。 特点:呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程,继承使类设计层次的复用。 class Person { public: Person(string name = "david",i...原创 2018-12-17 12:32:21 · 241 阅读 · 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 · 237 阅读 · 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 · 1862 阅读 · 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 · 313 阅读 · 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 · 875 阅读 · 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 · 234 阅读 · 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 · 359 阅读 · 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 · 324 阅读 · 0 评论 -
string类使用方法
一、string类对象的常见构造 函数名 功能 string() 构造空的string类对象,即空字符串 string(const char* s) 用C-string来构造string类对象,即空类中包含字符串 string(size_t n,char c) string类对象种包含n个字符c string(const string& s) 拷贝构造函数 ...原创 2018-11-30 16:02:04 · 345 阅读 · 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 · 250 阅读 · 0 评论 -
类与对象1
1、类定义 最简单来说,类就是定义了一个新的类型和新的作用域。 class Student { //类体;由类成员(成员函数和成员变量等)组成 };//后面一定要加上分号(因为在类定义之后可以接一个对象定义列表) class为定义类的关键字,Student为类的名字,{}为类的主体,后面分号不能丢。 类中的元素成为类的成员,类中数据称为类的属性或类的成员变量;类中的函数称为类的方法或者类的成...原创 2018-10-30 20:35:09 · 206 阅读 · 0 评论 -
动态内存管理
一、内存分布 先看C++中程序内存区域划分。 1.栈又称为堆栈,非静态局部变量/函数参数/返回值等; 2.内存映射是高效I/O映射方式,用作进程间通信; 3.堆用于动态内存分配; 4.数据段存储全局数据和静态数据; 5.代码段一般就是可执行代码; 6.内核是用户不能操作的那部分。 二、C++和C语言的动态内存管理 在C语言中我们都知道,C语言的动态内存管理一般用malloc/...原创 2018-11-18 20:18:08 · 213 阅读 · 0 评论 -
用C语言编写简单游戏——三子棋
先简单介绍一下三子棋的规则,方便我们接下来的编程和理解。规则如下: 在九宫格棋盘上,只要将自己的三个棋子走成一条线(横、竖、对角线),对方就算输了。 规则很简单,但是我们应该从哪里入手完成这个三子棋程序呢? 首先,我们的游戏程序应该先有个菜单页面,这个菜单页面用来让用户操作选择玩游戏,或是退出。 界面可以很简单,只需要几条 printf 语句即可: ...原创 2018-04-07 23:35:50 · 1840 阅读 · 1 评论