C/ C++ 编程知识
文章平均质量分 89
C/ C++ 编程知识
蜘蛛侠不会飞
关注公众号【不至于编程】,回复【CS】获取30本豆瓣高分计算机就书籍,包括操作系统、计算机网络、数据结构与算法等
展开
-
C语言-实现顺序二叉树和平衡二叉树AVL
在实现二叉树之前先看下结构体的一些使用方法数组是保存一系列相同的数据。在实际问题中,一组数据往往有很多种不同的数据类型。例如,登记学生的信息,可能需要用到 char型的姓名,int型或 char型的学号,int型的年龄访问其中的各个元素,用结构成员运算符点(.)。即访问成员的一般形式是:结构变量名 . 成员名如 a.name 表示学生 a 的姓名。1)结构体的成员逐个赋值2)整体赋值也可以在初始化的时候赋值3)整体拷贝如上每次使用结构体均需要写struct,可以使用typedef 简化书写。原创 2023-04-10 21:44:02 · 983 阅读 · 0 评论 -
C++ 三种智能指针及其设计实现unique_ptr、 share_ptr 指针
0、差不多春节啦。。。。。好久没有写博客,写一写吧。。。。。。祝大家嗨皮,提前恭喜发财。原创 2023-01-17 20:27:08 · 1471 阅读 · 0 评论 -
C语言str-xxx字符串库函数处理大全【超详细】
C语言str系列库函数在面试中经常容易被面试官喊在纸上写某一个函数的实现,库函数的实现包含在头文件中,有如下方法。原创 2022-12-17 23:09:54 · 713 阅读 · 0 评论 -
数字图像处理-知识体系概括
转载自:http://blog.csdn.net/hitwengqi/article/details/8292675目录一、数字图像基础... 3二、数字图像存储与显示... 3三、图像变换... 41.卷积... 42.梯度和Sobel导数... 53.拉普拉斯变换... 54.Canny算子... 55.霍夫变换... 56.重映射... 57.几何操作:拉伸、收缩、扭曲和旋转... 58.离...转载 2017-12-01 21:55:41 · 1313 阅读 · 0 评论 -
RNG随机类
转载自:http://blog.csdn.net/longwinyang/article/details/52934843本文主要讲解随机数生成器RNG。在opencv中我们有时要随机生成一些数值,用于图像的边缘。RNG::uniformint RNG::(int a,int b)float RNG::uniform(float a,fl转载 2017-11-30 21:49:10 · 1567 阅读 · 0 评论 -
仿射变换
装自于:http://blog.csdn.net/renshengrumenglibing/article/details/7176790几何空间变换和图像配准 几何空间变换又称为橡皮膜变换,因为他可以看做是在一幅橡皮膜上印制图像,然后根据一定规则拉伸橡皮膜。由两个基本操作组成:1)坐标的空间变换2)灰度内插最常用的是仿射变换一般形式如下转载 2017-11-30 15:13:32 · 1404 阅读 · 0 评论 -
OpenCV中矩阵类详解:Mat
转载自:http://www.xuebuyuan.com/2148247.htmlOpenCV中矩阵类详解之一:Mat综述Mat类可以被看做是opencv中C++版本的矩阵类,替代原来C版本的矩阵结构体CvMat和图像结构体IplImage;Mat最大的优势跟STL的兼容性很好,有很多类似于STL的操作。但是Mat远远强于后者;Mat是一种高效的数据类型,它对内存进行动态的管理,不需要之前用户手动...转载 2017-11-30 10:05:35 · 6404 阅读 · 0 评论 -
C++ 面试题型总结
1. 常量指针const char * p; // 字符是常量,指针 p 可以改变,指向的常量值不能改变char const *p; // 同上char* const p; // 指针p 是常量, 不能改变指针的值2. 字符数组变量有各自的内存空间,指针指向相同的区域char str1[] = "abc";char str2[] = "abc";const ...原创 2019-10-12 19:23:09 · 941 阅读 · 0 评论 -
C++ 链表题型
目录链表题目:1.从尾到头打印链表2.链表的倒数第k个结点3. 翻转链表4.合并2 个有序的链表5. 两个链表的第一个公共结点6. 链表中环的入口7. 删除链表中重复的节点链表题目:1.从尾到头打印链表/*** struct ListNode {* int val;* struct ListNode *next...原创 2019-10-10 20:59:02 · 815 阅读 · 0 评论 -
C++ 版本 剑指offer
1. 二维数组的查找:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution {public: bool Find(int target, vector<vector<int> > arra...原创 2019-09-25 09:36:30 · 467 阅读 · 0 评论 -
【数据结构】--- 二叉树的递归遍历和非递归遍历【C语言实现】
目录1. 创建一颗二叉树2.递归前序遍历二叉树3.递归中序遍历二叉树4.递归后序遍历二叉树5. 测试递归打印二叉树代码6. 非-递归前序遍历二叉树7.非-递归实现中序遍历二叉树8.非 - 递归实现后序遍历【较为复杂的方法】9.非 - 递归实现后序遍历【简单的方法】10. 二叉树的层次遍历11. 最后:附全部代码:对于二叉树的非递归 深度优先遍历,使用的都是栈对于二叉树的层次遍历,使用的是队列1. 创建一颗二叉树依据前序遍...原创 2020-07-17 18:56:44 · 32255 阅读 · 25 评论 -
【数据结构】---栈和队列的实现【C语言实现】
1. 栈的实现栈是一种先进后出的数据结构。栈(stack)是限定仅在表的一端进行操作的数据结构,只有一个入口和出口,只能从这个口子,进去或者出去。如图:栈就像一个放球的单管桶,只允许球从桶的开口这一端取出,并且球先放入桶中则后从桶中拿出。栈的节点的设计栈分为数组栈和链表栈,其区别是数组栈使用数组进行功能的模拟,实现较为快速和便利,而链表栈使用链表的思路去设计,实现较为麻烦,但是其稳定不易出错;在链表栈中又分为静态链表栈和动态链表栈,静态链表栈给定栈的空间大小,不允...原创 2020-07-17 14:14:21 · 944 阅读 · 0 评论 -
【数据结构】---双向链表【C语言实现】
1.双向链表单链表在很多时候已经可以胜任很多优秀的操作了,但是,单链表任然存在不足,所谓‘单链表’,是指结点中只有一个指向其后继的指针,具有单向性,有时需要搜索大量数据的时候,就必须要多次进行从头开始的遍历,这样的搜索不是很便利。对此在单链表的基础上,产生了双向链表的概念,即: 在单链表的基础上,对于每一个结点设计一个前驱结点,前驱结点与前一个结点相互连接,构成一个链表。双向链表可以简称为双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链...原创 2020-07-10 17:30:33 · 826 阅读 · 1 评论 -
【数据结构】---单链表【C语言实现】
1. 单向链表我们都熟悉数组,它作为一个顺序储存方式数据结构为我们的程序设计带来了大量的便利,几乎任何的高级程序设计,算法设计都离不开数组的灵活使用。但是,数组最大的缺点就是我们的插入和删除时需要移动大量的元素,显然这需要消耗大量的时间。数组找到指定元素很快,O(1)复杂度就可以,而链表只能是遍历,O(n)的复杂度。数组是顺序存储的,链表是通过指针实现不连续的存储相比起数组,链表解决了数组不方便移动,插入,删除元素的弊端,但相应的,链表付出了更加大的内存牺牲换来的这些功能的实现。...原创 2020-07-10 14:11:40 · 4066 阅读 · 1 评论 -
查找算法实现【C语言实现】
1. 线性(顺序)查找法查找算法是指:从一些数据之中,找到一个特殊的数据的实现方法。查找算法与遍历有极高的相似性,唯一的不同就是查找算法可能并不一定会将每一个数据都进行访问,有些查找算法如二分查找等,并不需要完全访问所有的数据。#include <stdio.h>int target = 10;int unFind = 11;int array[] = { 2, 3, 4, 6, 8, 10, 12 };int len = sizeof(array) / size...原创 2020-07-09 18:45:22 · 2161 阅读 · 0 评论