
C++
Sun.ME
这个作者很懒,什么都没留下…
展开
-
C#调用C++非托管代码
C# 调用C++ DLL原创 2020-02-11 19:37:33 · 677 阅读 · 0 评论 -
队列的链式存储结构以及实现
队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出而已,通常简称为链队列。为了操作上的方便,将队头指针指向链队列的头结点,队尾指针指向终端结点。当队列为空时,front和rear都指向头结点。链队列的结构定义如下所示:typedef int QElemType;//QNode代表队列中元素的结点//QueuePtr指针指向当前链队列typedef struc...原创 2018-03-05 16:34:08 · 1204 阅读 · 0 评论 -
队列的定义以及实现
队列是只允许在一端进行插入操作,而在另外一端进行删除操作的线性表。队列是一种先进先出的线性表,简称FIFO,允许插入的一端称之为队尾,允许删除的一端称之为队头。线性表有顺序存储和链式存储,栈是线性表,队列作为一种特殊的线性表,也同样存在顺序存储结构和链式存储结构。入队:在队列的末尾追加一个元素,不需要移动任何元素,其时间复杂度为O(1);出队:队列元素的出列是在队头,即下标为0的位...原创 2018-03-05 13:22:50 · 2852 阅读 · 0 评论 -
随机数的生成
随机数的生成随机数在游戏中应用比较广泛,比如砍怪随机掉血,装备随机掉落,道具的随机生成。如果没有随机事件,怪物将以重复的方式攻击你,装备的掉落知识乏味的重复。首先看一段伪随机数生成的代码:#inclde <iostream>//伪随机数的生成unsigned int PseUdoRandomNumber(){ //初始化种子数 static unsi...原创 2018-03-17 17:26:13 · 701 阅读 · 0 评论 -
链栈的数据结构以及链栈的实现
线性表有顺序存储结构和链式存储结构,栈属于线性表的一种,也具有顺序存储结构和链式存储结构。对于栈的链式存储结构,一般称之为链栈。栈的插入和删除只在栈顶进行操作,在单链表中,头指针是单链表的必须元素;而在栈中,栈顶指针也是链栈的必须元素,且一般将栈顶放在单链表的头部。链栈的结构代码如下所示://定义数据结点类型//typedef 定义结构类型别名//LinkStaclPtr指向结构的...原创 2018-02-20 22:42:04 · 8043 阅读 · 0 评论 -
二叉树的定义、存储结构、树的遍历
参考:《大话数据结构》 程杰版二叉树的定义:二叉树是n个结点的有限集合,该集合或者为空集,或者由一个根结点和两颗互不相交的、分别称为根结点的左子树和右子树的二叉树组成。二叉树具有五种基本的形态: 1. 空二叉树。 2. 只有一个根结点。 3. 根结点只有左子树。 4. 根结点只有右子树。特殊的二叉树 1. 斜树。 2. 满二叉树。 3. 完全二叉树。二叉树...原创 2018-03-08 12:11:01 · 863 阅读 · 0 评论 -
线性表的链式存储结构——单链表(头插法)
线性表的顺序存储结构最大的缺点在于:每次需要插入或者删除元素时,需要移动大量的元素,增加算法的时间复杂度。链式存储结构的特点:用一组任意的存储单元存储线性表的数据元素,这些存储单元可以是连续的,也可以是不连续的。单链表是由n个链结成的一个链表,即为线性表的链式存储结构,链表中的每个结点只包含一个指针域。 头指针:链表中第一个结点的存储位置叫做头指针。头指针是指向链表第一个结点的指针,若链表有...原创 2018-02-14 17:19:19 · 1560 阅读 · 0 评论 -
树的定义以及表示
参考:《大话数据结构》 程杰版树的定义:树是n个结点的有限集。n=0时称之为空树。在任意一颗非空树中:(1)有且仅有一个特定的称之为根的结点;(2)当n>1时,其余结点可分为m个互不相交的有限集T1、T2······、Tm,其中每一个集合本身又是一棵树,并且称之为根的子树。树的表示法: 1. 双亲表示法 2. 孩子表示法 3. 孩子兄弟表示法双亲表示法的结构定义代码:...原创 2018-03-07 11:39:14 · 605 阅读 · 0 评论 -
线性表的顺序存储结构
线性表的顺序存储结构:指的是用一段地址连续的存储单元一次存储线性表的数据元素。即在内存中找一块地址,通过占位的形式,占据一定内存空间,然后把相同数据类型的数据元素一次存放到这块空地中,因为线性表中的每个数据元素的类型都相同,所以可以用一维数组来实现顺序存储结构。1.声明一个顺序存储结构。#include "stdafx.h"#include <iostream>us...原创 2018-02-13 15:59:34 · 2968 阅读 · 0 评论 -
C++指针和引用的区别
练习2.18 编写代码分别更改指针的值以及指针所指对象的值。#include <iostream>using namespace std;int main(){ int ival = 42; int *p = &ival; cout << *p << "\n"; ival = 100; cout << *p << "\n"; retur原创 2017-11-16 21:12:25 · 335 阅读 · 0 评论 -
C++中值传递和引用传递的区别
C++值传递和引用传递的区别 一例呼醒迷中人原创 2017-12-06 10:25:39 · 29406 阅读 · 14 评论 -
C++中一些简单的数组算法 第一篇
C++ 向量合并:#include #include #include using namespace std;//向量的合并vectorint> MergeVector(vectorint>, vectorint>);int main(){ //声明向量LA vectorint> LAVector = { 3,5,8,11 }; //声明向量LB原创 2018-01-23 17:08:40 · 1115 阅读 · 0 评论 -
C++中一些简单的数组算法(矩阵相乘) 第二篇
矩阵的乘法运算公式: #include using namespace std;int main(){ **//矩阵的乘法只有在第一个矩阵的列数与第二个矩阵的行数数相等的时候,矩阵的乘法才有意义**。 //第一个矩阵 int matrix_1[10][10], aRow, aCol; cout "请输入第一个矩阵的行和列:" << endl;原创 2018-01-23 21:32:36 · 9181 阅读 · 2 评论 -
二分查找算法(C++)
C++二分查找算法原理如下图: 该算法只针对有序列表才有意义。#include using namespace std;//二分搜索算法,折半查找//二分查找要求被查找的数组的元素是按照有序的顺序排列的int main(){ int array[100]; //数组的大小 int size = 0; cout "输入需要创建的数组的元素个数:原创 2018-01-24 13:09:53 · 3197 阅读 · 2 评论