
C/C++
C/C++
小馋喵星人
这个作者很懒,什么都没留下…
展开
-
【C++进阶笔记二】STL标准模板库(Standard Template Library)
【C++进阶笔记二】STL标准模板库(Standard Template Library)一、STL 初识1. STL 六大 组件2. 容器、算法、迭代器3. 容器vector、算法for_each、迭代器 vector\< int>::interator4. Vector 存放自定义数据类型5. Vector 中嵌套 Vector6. string一、STL 初识STL 的主要目的是建立数据结构与算法的一套标准,提高代码复用性,减少编程人员的重复工作。STL 中几乎所有的代原创 2020-10-05 14:20:15 · 438 阅读 · 0 评论 -
【C++进阶笔记一】函数模板与类模板
【C++进阶】(1)函数模板的声明及使用一、函数模板 `template < class T>`1. 简单的函数模板示例2. 实现通用数据类型排序算法示例3. 能过空模板参数列表 强制调用模板函数4. 模板函数 也可 以实现函数重载最近在搞FFmpeg 音视频开发,后面大量涉及音视频图形等界面开发(比如视频播放器),利用C语言也可以实现 ,但相对麻烦,在这方面C++会方便很多,记得上一次学C++还是在大二的时候了,刚好也算趁着这一次机会,把C++ 的知识全部重新捡起来巩固一遍,也算逼自已原创 2020-10-05 11:09:22 · 1784 阅读 · 0 评论 -
【LeetCode #11 题解】 盛最多水的容器
一、题目给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49二原创 2020-08-10 11:31:27 · 338 阅读 · 0 评论 -
【LeetCode #10 题解】 正则表达式匹配
一、题目给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1输入:s = "aa"p = "a"输出: false解释: "a" 无法匹配 "aa" 整个字符串。示例 2原创 2020-08-10 10:44:29 · 371 阅读 · 0 评论 -
【经典算法实现 16】阿克曼函数(非递归实现 代码优化)
接着前两篇文章:《【经典算法实现 14】阿克曼函数(手动推导求解、递归实现、非递归实现)》《【经典算法实现 15】阿克曼函数 – 非递归实现》本文是对前面代码的优化:优化思路为:为方便理解,将 m 和 n 放在同一个链表中实现,成对push,成对pop为方便理解,将代码逻辑与递归函数 结构写在一样,方便他们对照学习代码如下:#include <stdio.h>// 定义单向循环链表结构体 typedef struct ListNode{ long long m;原创 2020-08-06 16:30:05 · 1487 阅读 · 0 评论 -
C 语言实现 判断大小端
【大端模式】 CPU对操作数的存放方式是高地址存放低位,低地址存放高位。【小端模式】CPU对操作数的存放方式是高地址存放高位,低地址存放低位。大多数ARM处理器都是采用的小端模式,PowerPC是采用的大端模式,网络字节序是采用的大端模式。利用联合体共享内存的特性,来判断是大端小端,union里面的成员c和i都是从低地址开始对齐的。int checkCPU(){ union w {...原创 2020-07-10 11:01:30 · 498 阅读 · 0 评论 -
【数据结构与算法 2】(单循环链表)快慢指针实现查找单循环链表中间数据
本文是在《【数据结构与算法 1】(单链表)快慢指针实现查找单链表中间数据》的基础上,由单链表修改为单循环链表,修改点不多,执行结果如下:代码如下,对应的修改点也标注出来了,详细如下:// 单链表实现方式 // 利用快慢指针,查找单链表的中间节点 #include <stdio.h>#include <string.h>#include <ctype.h>#include <malloc.h>// 定义单链表结构体,并构建结构对象 L原创 2020-07-05 10:57:05 · 2922 阅读 · 0 评论 -
【数据结构与算法 1】(单链表)快慢指针实现查找单链表中间数据
本程序为单链表程序实现,包含创建链表查看链表链表长度插入元素删除指定元素中间节点数据(能完这快慢指针)删除链表运行示例如下:程序代码如下:// 单链表实现方式 // 利用快慢指针,查找单链表的中间节点 #include <stdio.h>#include <string.h>#include <ctype.h>#include <malloc.h>// 定义单链表结构体,并构建结构对象 ListNode 和 指向原创 2020-07-04 19:33:57 · 3021 阅读 · 0 评论 -
C代码指针学习总结
C指针学习总结一、复杂类型说明一、复杂类型说明要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优先级和运算优先级一样,所以我总结了一下其原则:从变量名处起,根据运算符优先级结合,一步一步分析。下面让我们先从简单的类型开始慢慢分析吧:1. int p...原创 2020-04-01 14:17:38 · 560 阅读 · 0 评论 -
Android C++延时
#include <unistd.h> // sleep 的头文件sleep(1); //停留1秒 usleep(1000); //停留1毫秒_sleep(200);//延时200毫秒/// @brief 程序延时/// @param[in] msec : 毫秒/// @remark /// @return voidvoid delay_msec(int ...原创 2019-12-04 10:27:21 · 1676 阅读 · 0 评论 -
C++ 实现Buffer 动态分配管理,FIFO模式存取数据
《C++ 实现Buffer 动态分配管理代码实现 》之前用的数组来管理 buff,这样就有一个问题数据没有先后,导到显示数据时,存在错乱,为此优化为 结构体指针,取数据时使用 FIFO 先进先出的模式来控制数据。具体代码实现如下:头文件代码@ receivedata.h#ifndef RECEIVEDATA#define RECEIVEDATA#include <stdi...原创 2019-10-15 14:51:36 · 1378 阅读 · 0 评论 -
C++ 实现Buffer 动态分配管理代码实现
C++ 实现Buffer 动态分配管理代码实现一、 Class Memory_Manager 头文件代码实现二、 Class Memory_Manager 代码实现三、Class Memory_Manager 使用方法应公司需求,花半天时间写了一个内存buffer 动态管理的代码。实现功能如下:初始化时,常驻两块 buff 用于数据传输。(兼顾 性能)在数据高峰期时,当已分配的两块 b...原创 2019-10-10 18:26:37 · 2266 阅读 · 0 评论 -
C++ 中重写 ALOG 动态 控制宏控
#include <cutils/log.h>////////log define ////////////////////////#define LOG_TAG "receivedata"#define HICAR_LOG_ENABLE#ifdef HICAR_LOG_ENABLE#ifndef ALOGI_D#define ALOGI_D(...) ((void...原创 2019-10-09 11:28:20 · 1049 阅读 · 0 评论 -
Linux C++ pthread 下定时执行代码
pthread_t mThreadID;pthread_mutex_t mDataLock;pthread_cond_t mDataCondition;初始化函数中:pthread_cond_init(&mDataCondition, NULL);ret = pthread_create(&mThreadID, NULL, wait_callback_thre...原创 2019-09-23 16:29:21 · 941 阅读 · 0 评论 -
常用数据类型打印格式
数据类型打印格式u8 (unsigned char)%ds8 (signed char)%du16 (unsigned short)%d or %hus16 (signed short)%d or %hdu32 (unsigned int)%us32 (signed int)%du64 (unsigned long lon...原创 2019-02-23 11:42:26 · 2380 阅读 · 0 评论 -
C指针典例
C指针典例 2015-03-10 李海沿一、指针的算术运算例一、1、 char a[20];2、 int *ptr=a;3、 ptr++;在上例中,指针ptr的类型是int*,它指向的类型是int,它被初始化为指向整形变量a。接下来的第3句中,指针ptr被加了1,编译器是这样处理的:它把指针ptr的值加上了sizeof(int),在32位程序中,是被加上了4。由于地址是...原创 2015-03-10 22:11:00 · 499 阅读 · 0 评论 -
C-Free 5.0注册码
最近在使用一款相当简洁的IDE编译器,使用了一段时间觉得还行,这里就和大家分享一下如何注册吧,因为网上很多注册机都是对C-Free 5.0之前版本的,所以这里分享一个C-Free 5.0的注册码: 用户名:tianfang 电子邮件:quart163.com 注册码:2NnUqd3shO2agta0xNjcusfK1LXO 给出一个C...原创 2015-10-22 15:02:00 · 840 阅读 · 0 评论 -
打印64位整形longlong
64位无符号整型打印方式:#include<stdio.h> unsigned long long ll=0x9102928374747474; void main() { printf("**************\n"); printf("%x,%llx\n",ll,ll); printf("%llu\n...原创 2015-10-30 11:13:00 · 1105 阅读 · 0 评论