数据结构
文章平均质量分 73
去留意
也许是不知梦的缘故,琉璃之人追逐幻影。
展开
-
力扣图解算法数据结构学习笔记C++篇
图解算法数据结构数据结构剑指 Offer 05. 替换空格题目要求:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."解法1-要点重新定义数组长度:len = len+2*spaceNumber;逆序修改数组内容;(逆序很重要)-(遇到字符,后移,遇到空格替换为%20[修改3个字符]);解法1-代码class Solution {public: string repl原创 2021-07-22 20:42:16 · 357 阅读 · 4 评论 -
Lootcode数组和字符串学习笔记C++篇
数组和字符串数组简介寻找数组的中心索引题目要求给你一个整数数组 nums ,请计算数组的 中心下标 。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。解法-要点psum*2 + nums[i] == sum。即此位置前所有原创 2021-07-22 20:40:46 · 371 阅读 · 1 评论 -
指针使用守则以及建议
指针使用守则以及建议守则1:每一个指针调用前都要有所指向的空间(即地址);守则2:要修改指针时需要传入更高一级指针;建议:不要使用指针。法则及真理详解守则1:每一个指针调用前都要有所指向的空间(即地址);当你新建一个指针的时候,都要记住需要为其分配空间,最常见使用malloc函数分配空间。没有分配空间之前不要使用它。指针与地址空间是对应的。没有分配地址的指针指向的空间是不安全的,可能出现问题。只有指针指向的空间是确定的、自己分配的这时候指针才是安全的。守则2:要修改指针时需要传入更高一级指针;原创 2021-05-18 21:16:58 · 399 阅读 · 2 评论 -
求斐波那契数列的两种方式
斐波那契数列递归思路:一个递归函数一定可以分解为基础与递归两个部分。而递归部分每次调用都要使其参数向基础部分接近。对于简单的递归函数,基础部分就是if的部分,递归部分就是return部分。斐波那契数列的函数表示为:f(x)={1x=0,x=1f(n−1)+f(n−2)x>1f(x)=\begin{cases}1& \text{x=0,x=1}\\f(n-1)+f(n-2)& \text{x>1}\end{cases}f(x)={1f(n−1)+f(n−2)x原创 2021-02-20 18:26:42 · 274 阅读 · 0 评论 -
函数结果带出的方式
函数结果带出的方式函数结果共有全程变量、函数返回值、地址参数三种带出方式。通过参数表的参数传递是一种参数显式传递方式,而通过全局变量是一种隐式参数传递,一个函数中对全局变量的改变会影响其他函数调用,使用全局变量必须注意这个问题。传递方式中,值参数的作用域相当于该函数的局部变量,无法带出结果值,如果返回一个结果值,可以使用return返回方式带出一个函数结果值。若函数结果需要带出多个值,该怎样...原创 2020-04-15 18:01:59 · 2427 阅读 · 0 评论 -
用C语言实现复数ADT的实例
用C语言实现复数ADT的实例ADT包括定义和实现两个方面,其中定义是独立于现实的。定义仅给出一个ADT的逻辑特性,不必考虑在计算中实现。用C语言实现ADT用C语言实现ADT时,主要包括一下两个方面。通过结构体将int 、float 等基本数据类型组合到一起,构成一个结构体类型,再用typedef为该类型或该类型指针重新起一个名字,以增强程序的抽象性、简洁性和可读性。即采用C语言中typ...原创 2020-04-14 15:12:59 · 3279 阅读 · 0 评论