数据结构
文章平均质量分 60
小鱼Doris
以此博客记录学习的过程和学习总结呀~~
展开
-
new和malloc的区别
1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。1.2 voi转载 2017-07-12 11:01:33 · 241 阅读 · 0 评论 -
realloc、malloc、以及calloc函数的区别
首先,对于malloc函数。其原型void *malloc(unsigned int num_bytes)num_byte为要申请的空间大小,需要我们手动的去计算,如int *p = (int *)malloc(20*sizeof(int)),如果编译器默认int为4字节存储的话,那么计算结果是80Byte,一次申请一个80Byte的连续空间,并将空间基地址强制转换为int类型,赋值给指针p,...转载 2017-07-12 11:36:08 · 315 阅读 · 0 评论 -
C++中二维数组作函数形参
C++中关于二维数组作为函数参数传递的问题文章转自:http://www.cnblogs.com/LeeZz/p/5084498.html在做数据结构迷宫实验的时候,要生成一个二维数组存储迷宫数据,为了保证程序的模块化,将生成部分单独放进一个函数migongsc()里。大致代码如下: 问题的关键就集中在了如何将主函数中声明的二维数组migong[8]转载 2017-07-16 12:02:58 · 1109 阅读 · 0 评论 -
用栈实现迷宫求解Maze
今天我参考严蔚敏的《数据结构》第3章 栈和队列的3.2.4上的问题描述、解决思路和伪代码把迷宫求解的问题自己实现了一遍,感觉超开心的哇~~嘻嘻,贴出来,以供以后翻阅。解决过程中的几点思考:1.对于position NextPos(position cur, int dir)函数,它的目的不是提供一个可行的下一个位置,而是提供一个下一个要考虑的位置,至于可不可行,暂时不用考虑,可不可行的判断...原创 2017-07-16 17:03:40 · 1599 阅读 · 1 评论 -
用栈实现整型数据的四则运算
今天我参考严蔚敏的《数据结构》第3章 栈和队列的3.2.5上的问题描述、解决思路和伪代码把表达式求值的问题实现了一遍。算法输入:一行数学表达式,以#结尾,例如2+15/3+2+(2+3+4)#;算法输出:数学表达式的计算结果;补充说明:本算法能够在控制台循环输入表达式,循环计算结果,也即输入完一行以#键结束的表达式后,控制台再次等待输入下一行表达式,再次计算结果,如果不想再让控原创 2017-07-17 20:44:21 · 871 阅读 · 0 评论 -
引用返回
函数返回的类型返回值返回引用(reference return)返回常亮引用(const reference return)返回引用的作用可以减少复制操作(返回的是对象的话,可以避免调用复制构造函数),提高效率;引用返回的结果可以作为左值。#include <iostream>#include <cstdlib>**const** int& abc(int a, int b, int原创 2017-11-13 10:23:15 · 362 阅读 · 0 评论 -
C++栈
Leetcode 的easy题之20.Valid Parentheses做的是括号的匹配。就是一个简答的栈的应用问题。因此在这里简单记录一下c++模板类里面的stack用法。stack头文件#include<stack>构造函数 std::stack s;常用函数 top:获得栈顶元素 empty :判断是否非空 size: 获得栈的元素个数 push:压元素进栈 pop:弹出元素,原创 2017-11-18 14:03:55 · 274 阅读 · 0 评论 -
合并有序链式线性表
Leetcode的easy题之21Merge Two Sorted Lists要求合并两个已经排好序的链式线性表。其实就是简单的链表操作。 但是由于自己各种操作不熟悉,这道题捯饬了一天。首先就是这个控制台输入两组数,分别建立两个线性表这里卡了很久。另一个点就是把链表接起来,这里操作也不是很熟悉。以下就分这两个点来总结记录一下。控制台输入建立链式线性表要求:两组数以回车符'\n' 作为分隔标记,原创 2017-11-18 18:24:39 · 982 阅读 · 0 评论 -
判断一个单链表是否存在环
这是leetcode上面的一道简单题【141. Linked List Cycle】,大约半个月前刷到的,当时没想出来,然后看到的Solution,提到了hash表和快慢指针两种算法,觉得好复杂,然后放着没有去想了。恰好导师有新的idea让我试下,所以一放就放到现在,今天终于实现了。开熏。 这里记录两种方法:快慢指针法和利用STL里面的map或者set实现的方法(用STL的方法实际上和hash原创 2017-12-19 19:50:58 · 315 阅读 · 0 评论