1. 基本递归算法: 原文:https://blog.csdn.net/hehe5229/article/details/60874167 #include<stdio.h>   #include<stdlib.h>   int count=0;   void move(char getone, char putone) {       count++; printf("%c-->%c\n", getone, putone);…

2021年7月31日 0条评论 2点热度 阅读全文

1. 基本递归算法: 原文:https://blog.csdn.net/hehe5229/article/details/60874167 #include<stdio.h>   #include<stdlib.h>   int count=0;   void move(char getone, char putone) {       count++; printf("%c-->%c\n", getone, putone);…

2021年7月31日 0条评论 3点热度 阅读全文

一,何为内联函数 以inline修饰的函数叫做内联函数,只需在函数前加inline即可 本质是以空间换时间 二,内联函数特点 编译时C++编译器会在调用内联函数的地方展开,没有函数压栈的开销,内联函数提升程序运行的效率 若代码很长或者函数是循环递归时不适宜将其使用作为内联函数。 inline对于编译器而言只是一个建议,编译器会进行自动优化,并不是写了inline就一定会成为内联函数,如果定义为inline的函数体内有循环/递归等等,编译器优化时会忽略掉内联。 inline不建议声明和定义分离,所以函数声明与定义最好…

2021年7月14日 0条评论 4点热度 阅读全文

使用 inline 修饰函数的声明或者实现,可以使其变成内联函数 特点: 1、编译器会将函数调用直接展开为函数体代码 2、可以减少函数调用的开销 3、增大代码体积 注意: 1、debug模式是不会做内联的,应该在release模式下 2、尽量不要内联超过10行代码的函数 3、有些函数即使声明为inline,也不一定会被编译器内联,比如递归函数 使用条件: 1、函数代码体积不大 2、频繁调用的函数 内联函数与宏都可以减少函数调用的开销 例如:#define add( v1, v2)  v1+v2 对比宏,内…

2021年7月9日 0条评论 3点热度 阅读全文

1.const部分 const 是constant的缩写,本意是不变的,不易改变的意思。 const 在C++中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。 1.1const修饰普通类型的变量 const int a = 7; int b = a; //it's right a = 8; // it's wrong, a被定义为一个常量,并且可以将a赋值给b,但是不能给a再次赋值。对一个常量赋值是违法的事情,因为a被编译器认为是一个常量,其值不允许修改。 如下例子 #include<ios…

2021年6月23日 0条评论 5点热度 阅读全文

使用inline修饰函数的声明或者实现,可以使其变成内联函数 建议声明和实现都增加inline修饰 编译器会将函数调用直接展开为函数体代码 可以减少函数调用的开销 但是会增大代码体积 1、尽量不要内联超过10行代码的函数 2、有些函数即使声明为inline,也不一定会被编译器内联,比如递归函数    内联函数和宏,都可以减少函数调用的开销。对比宏,内联函数多了语法检测和函数特性   inline int sum(int x) { return x + x; } #define sum(…

2021年5月25日 0条评论 5点热度 阅读全文

引用、内联函数、auto关键字详解! 1.引用 1.1 什么是引用? 1.2 引用如何使用? 1.3 常引用 1.4 引用有什么作用? 1.5 引用与指针的区别 2.内联函数 2.1 为什么要有内联函数? 2.2 什么是内联函数? 2.3 内联函数怎么用? 3.auto关键字(自动推导类型) 1.引用 1.1 什么是引用? 引用就是给一个已经存在的变量取了别名,不会定义新变量,也不会开辟新的空间,它和它引用的变量共用同一块内存空间。 例如:诸葛亮就有“卧龙”的外号,这两个名字指的都是同一个人。 1.2 引用如何使用…

2021年5月5日 0条评论 4点热度 阅读全文

在进行遥感数据平台建设时,往往需要在查看原始数据时查看数据缩略图来确保数据云量是否满足要求(往往是遥感图像太大,不可以快速显示,所以拿缩略图来辅助审查),在此写了一段比较长的代码,虽然有点瑕疵,但也算是可以解决问题了,其中包括的步骤如下(如果想要每个步骤的代码,可以私信我1577537753@qq.com,也可以关注我,成为我那1位粉丝中的下一位///苦笑脸): (1)找出所有的tif图像; (2)原始图像重采样; (3)云检图重采样; (4)有云的地方原始图像中改为(0,0,0,0)值; (5)原始图像中为前三个…

2021年5月4日 0条评论 21点热度 阅读全文

原题如下: 实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。 示例: Trie trie = new Trie(); trie.insert(“apple”); trie.search(“apple”); // 返回 true trie.search(“app”); // 返回 false trie.startsWith(“app”); // 返回 true trie.insert(“app”); trie.search(“app”); // 返回 tru…

2021年5月3日 0条评论 26点热度 阅读全文

阅读目录 1. 顺序查找 2. 二分查找 3. 插值查找 4. 斐波那契查找 5. 分块查找 6. 树表查找 7. 哈希查找 下面所有的代码,都已经经过vs测试。 1.顺序查找 基本思想:顺序查找也称为线形查找,属于无序查找算法。 C#算法实现: /// <summary> /// 顺序查找 /// </summary> private static int SequenceSearch(int[] arr, int value) { int length = arr.Length; for…

2021年5月3日 0条评论 30点热度 阅读全文