![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
哗啦呼啦嘿
这个作者很懒,什么都没留下…
展开
-
数组和链表的比较
内存:数组是将元素在内存中连续存放,由于每个元素占用内存 相同,可以通过下标迅速访问数组中任何元素。链表恰好相反,链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。比如:上一个元素有个指针指到下一个元素,以此类推,直到最后 一个元素。访问元素:数组如果应用需要快速访问数据,通过下标元素访问。(因为数组申请的内存是一段连续的内存地址,由于所申请的内存地址是连...原创 2020-03-07 10:51:48 · 1237 阅读 · 0 评论 -
algorithm:剪绳子(C++)
题目描述给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m]。请问k[0]xk[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。输入描述:输入一个数n,意义见题面。(2 <= n <= ...原创 2020-02-25 18:22:56 · 544 阅读 · 0 评论 -
Algorithm-动态规划,回溯法和分治法(c++)
哈哈,从前辈那通过学习青蛙跳台的算法经验,来了解动态规划,回溯法和分治法:前辈参考链接:https://www.cnblogs.com/genialx/p/10191366.html青蛙????跳台阶的问题:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法?分治法:从上向下,将问题分解成若干个规模更小但形式相同的子问题,进行递归求解。在求解过后,将各个...原创 2020-02-24 00:13:43 · 554 阅读 · 0 评论 -
Error:C++ (vs 请使用 "&" 来创建指向成员的指针)
错误完整为:1>D:\software\VisualStudio\workspace\Project8\Project8\hero.cpp(32,44): error C3867: “Hero::GetMaxLife”: 非标准语法;请使用 "&" 来创建指向成员的指针主要错误为:error C3867: “Hero::GetMaxLife”: 非标准语法;请使用 "&...原创 2020-02-15 22:42:58 · 2963 阅读 · 3 评论 -
Error-无法将参数 1 从“const char [4]”转换为“char *”
错误如下:严重性 代码 说明 项目 文件 行 禁止显示状态错误 C2664 “String::String(const String &)”: 无法将参数 1 从“const char [4]”转换为“char *” Project7 D:\software\VisualStudio\workspace\Project7\P...原创 2020-02-14 18:28:09 · 2720 阅读 · 1 评论 -
C++:迭代的多种写法
老九学堂的网课中,列举出C++迭代的多种写法:第一种正常写法:void LandOwner::ShowCards(const vector<int>& cards) { for (int i = 0; i < cards.size(); i++) { cout << cards[i] << ","; } cout <<...原创 2020-02-08 14:38:44 · 2960 阅读 · 0 评论 -
C++:宏定义#define需要注意的点
#define是在C语言中提供的宏定义命令,能够在一定程度上提高程序的运行效率。#define<宏名> <字符串>//使用N时都会被替换成5#define N 5#define <宏名>(<参数表>) <宏体> //定义S函数,使用S函数时,即为数字的自乘#define S(num) num*num需要注...原创 2020-02-06 12:56:15 · 1382 阅读 · 0 评论 -
C++:快速排序
快速排序原理:将数组分隔成独立的两部分,以基数为分隔点,左边小于分隔点,右边大于分隔点。代码原理:采用了分治法的思想,从数列中取出一个数作为基准数(枢轴,pivot);将数组进行划分(partition),将比基准数大的元素都移至枢轴右边,将小于等于基准数的元素都移至枢轴左边;再对左右的子区间重复第二步的划分操作,直至每个子区间只有一个元素。图片地址:https://www.cnblo...原创 2020-02-04 19:14:35 · 135 阅读 · 0 评论 -
C++:冒泡排序以及插入排序
冒泡排序原理:比较两个相邻的元素,将值大的元素交换到右边,重复地进行直到没有再需要交换。代码原理:两层循环,最外层是交换次数,内层循环是进行元素的交换,一般情况下,交换次数=数组总数量-1。冒泡排序后插入元素:先冒泡排序,再将元素插入,找到第一个小于元素的位置,从该位置开始后移一位,再将元素插入到该位置,实现插入。插入排序原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的...原创 2020-02-03 19:02:30 · 397 阅读 · 0 评论