-
通过先序遍历和中序遍历后的序列还原二叉树(实现方法)
所属栏目:[经验] 日期:2021-01-08 热度:103
当我们有一个 先序遍历序列:1,3,7,9,5,11 中序遍历序列:9,1,11 我们可以很轻松的用笔写出对应的二叉树。但是用代码又该如何实现? 下面我们来简单谈谈基本思想。 首先,先序遍历的顺序是根据 根-左孩子-右孩子 的顺序遍历的,那么我们可以率先确认的是先序[详细]
-
IOS 开发UITextView回收或关闭键盘
所属栏目:[经验] 日期:2021-01-08 热度:86
IOS 开发UITextView回收或关闭键盘 iOS开发中,发现UITextView没有像UITextField中textFieldShouldReturn:这样的方法,那么要实现UITextView关闭键盘,就必须使用其他的方法,下面是可以使用的几种方法。 1.如果你程序是有导航条的,可以在导航条上面加多一[详细]
-
面试题快慢链表和快慢指针
所属栏目:[经验] 日期:2021-01-08 热度:200
腾讯的一道面试题:如何快速找到位置长度单链表的中间节点?普通方法,就是先遍历,在从头找到2/length的中间节点。算法复杂度是:O(3*n/2)。而更快的方法就是利用快慢指针的原理。 快慢链表:利用标尺的思想,设置两个指针(一快一慢)*serach和*mid,刚开[详细]
-
详解原码、反码与补码存储与大小
所属栏目:[经验] 日期:2021-01-08 热度:140
详解原码、反码与补码存储与大小 原码: 如果机器字长为N个bit,那么一个数的原码就是N位二进制数,最高位 是符号位,1代表负数,0代表正数。 反码: 正数的反码就是原码,负数的反码就是符号位不变,其他取反。 补码: 正数的补码与其原码相同;负数的补码是[详细]
-
数据结构用两个栈实现一个队列的实例
所属栏目:[经验] 日期:2021-01-08 热度:75
数据结构用两个栈实现一个队列的实例 栈是先进后出,队列是先进先出 每次元素都push在st1中,pop的时候如果st2为空,将st1的栈顶元素放在st2的栈底,这样st1的所有元素都放在st2中,st1的栈底就是st2的栈顶,pop st2的栈顶,这样就满足了队列的先进先出。 #in[详细]
-
linux 匿名管道实例详解
所属栏目:[经验] 日期:2021-01-08 热度:54
linux中进程的一种通信方式――匿名管道 pipe函数建立管道 调用pipe函数时在内核中开辟一块缓冲区(称为管道)用于通信,它有一个读端一个写端,然后通过_pipe参数传出给用户程序两个文件描述符,_pipe[0]指向管道的读端,_pipe[1]指向管道的写端。所以管道在用户[详细]
-
数据结构 栈的操作实例详解
所属栏目:[经验] 日期:2021-01-08 热度:54
数据结构 栈的操作实例详解 说明: 往前学习数据结构,想运行一个完整的顺序栈的程序都运行不了,因为书上给的都是一部分一部分的算法,并没有提供一个完整可运行的程序,听了实验课,自己折腾了一下,总算可以写一个比较完整的顺序栈操作的小程序,对于栈也[详细]
-
数据结构 中数制转换(栈的应用)
所属栏目:[经验] 日期:2021-01-08 热度:91
数据结构 中数制转换(栈的应用) 问题描述: 将一个非负的十进制整数N转换为另一个等价的基为B的B进制数的问题。 解答:按除2取余法,得到的余数依次是1、0、1、1,则十进制数转化为二进制数为1101。 分析:由于最先得到的余数是转化结果的最低位,最后得到的[详细]
-
矩阵的行主序与列主序的分析
所属栏目:[经验] 日期:2021-01-08 热度:145
1.矩阵在内存中的存储 不管是D3D还是OpenGL,使用的矩阵都是线性代数标准的矩阵,只是在存储方式上有所不同。分别为:行主序(Direct3D),列主序(OpenGL) 存储顺序说明了线性代数中的矩阵如何在线性的内存数组中存储。 例如:内存中使用一个二维数组m存储矩阵[详细]
-
数据结构串的操作实例详解
所属栏目:[经验] 日期:2021-01-08 热度:109
数据结构串的操作实例详解 串是一种特殊的线性表,它的每个结点是一个字符,所以串也称作字符串。 关于串的操作主要有求串长,串复制,串连接,求子串,串插入,串删除,子串定位等。串的操作也是C语言笔试中常考的一部分。 下面的代码实现了串的主要操作。[详细]
-
IOS开发之UIScrollView实现图片轮播器的无限滚动
所属栏目:[经验] 日期:2021-01-08 热度:85
IOS开发之UIScrollView实现图片轮播器的无限滚动 简介 在现在的一些App中常常见到图片轮播器,一般用于展示广告、新闻等数据,在iOS内并没有现成的控件直接实现这种功能,但是通过UIScrollView的允许分页设置,可以实现滚动轮播的功能。 轮播原理 UIScrollVi[详细]
-
C++简单实现的全排列算法示例
所属栏目:[经验] 日期:2021-01-08 热度:176
本篇章节讲解C++简单实现的全排列算法。供大家参考研究具体如下: #include "stdafx.h"#include string#include algorithm#include iostreamvoid func(const char *str_in){ std::string str(str_in); std::sort(str.begin(),str.end()); do { std[详细]
-
C++调试记录与心得分享
所属栏目:[经验] 日期:2021-01-08 热度:156
之前开发用Linux C比较多,C++中的STL 容器基本没有接触过。最近在学习C++,平时用到c++ 17中的部分新特性,下面就简单分享下自己C++的学习流程。 一、环境搭建 本人使用的是CentOS 7系统,该系统默认的g++版本不支持c++17的新特性。所以,首先需要做的就是[详细]
-
C++基于蔡基姆拉尔森计算公式实现由年月日确定周几的方法示例
所属栏目:[经验] 日期:2021-01-08 热度:163
本篇章节讲解C++基于蔡基姆拉尔森计算公式实现由年月日确定周几的方法。供大家参考研究具体如下: #include iostream#include stringusing namespace std;int whatday(int y,int m,int d) { // 返回正确的星期。用 0 - 6 表示 星期 1 - 7 if(m==1|[详细]
-
C++中vector可以作为map的键值实例代码
所属栏目:[经验] 日期:2021-01-08 热度:141
因为项目中需要根据状态找到一个对应的结果,就采用了map的结构,但是状态本身较为复杂,存在一个vector中。上次使用map的经验是自定义类类型作为键值必须重载操作符,因为map的快速查找是基于红黑树的构建,因而键值必须能相互之间比较。所以担心vector作为[详细]
-
C语言二维数组中的查找的实例
所属栏目:[经验] 日期:2021-01-08 热度:104
C语言二维数组中的查找的实例 题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 思路描述:一个数字的下方和右方是比它[详细]
-
C++/C 回文字符串的实例详解
所属栏目:[经验] 日期:2021-01-08 热度:157
C++/C回文字符串的实例详解 判断输入的字符串是不是回文字符串,正反读一样。 .C版 #includestdio.hint main(){ char he[100]; char a; int i=0,flag=1; while((a=getchar())!='n') { he[i]=a; i++; } int n=i; for(i=0;in/2;i++) { printf("%ct%cn",he[i[详细]
-
详解NSString 与C++ string字符串的互转
所属栏目:[经验] 日期:2021-01-08 热度:186
NSString 与C++ string字符串的互转实例详解 1. string 转换为 NSString std::string str("hello"); NSString *str=[NSString stringWithString:str.c_str()]; NSString *istr=[NSString stringWithString:@"zsh"]; str=[istr cStringUsingEncoding: NSUTF8S[详细]
-
C++中链表操作实例分析
所属栏目:[经验] 日期:2021-01-08 热度:139
链表概述 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用[详细]
-
C++编写非侵入式接口
所属栏目:[经验] 日期:2021-01-08 热度:137
终于写到c++的非侵入式接口了,兴奋,开心,失望,解脱,…… 。在搞了这么多的面向对象科普之后,本人也已经开始不耐烦,至此,不想做太多阐述。 虽然,很早就清楚怎么在c++下搞非侵入式接口,但是,整个框架代码,重构了十几次之后,才终于满意。支持给基[详细]
-
Base64编码的深入认识与理解
所属栏目:[经验] 日期:2021-01-01 热度:127
Base64编码的深入认识与理解 之前在很多业务中都有见过或者用到过Base64编码,但一直一知半解,没有对它有一个深入的认识和理解。今天就来聊一聊Base64编码的问题。 首先要明确的是,Base64是一种可逆的编码方式,提到编码方式,我们首先想到的肯定是Ascii、[详细]
-
visual studio 2017企业版本安装(附序列号)
所属栏目:[经验] 日期:2021-01-01 热度:162
记录了vs2017企业版本安装和序列号,分享给大家。 离线包大概下载为19G,可以选择的选择项很多,很不错,安装如下: 安装完成 启动效果 SharePoint插件自带了 离线包(19G) Visual Studio 2017(VS2017) 企业版Enterprise 注册码: NJVYC-BMHX2-G77MM-4XJMR-[详细]
-
Visual Studio 2017 (VS 2017)离线安装包制作方法
所属栏目:[经验] 日期:2021-01-01 热度:92
史上功能最强大的Visual Studio 2017版本发布,但是由于版本更新速度加快和与第三方工具包集成的原因,微软研发团队没有为这个版本提供离线下载的安装文件。如果用户处在一个与外网隔离的网络环境中,则必须首先自行创建理想安装包。下面在参考微软官方文档[详细]
-
Unity3D中shader 轮廓描边效果实现代码
所属栏目:[经验] 日期:2021-01-01 热度:99
Unity3D中shader 轮廓描边效果 想利用Unity3D中shader这个功能实现描边轮廓边框效果该怎么做呢,相信有很多搞开发的人想知道,为此下面就给大家介绍下方法。 Shade实现描边效果,如下图中的3D球效果图 Shade代码如下: Shader "Outlined/Silhouetted Diffuse[详细]
-
利用boost获取时间并格式化的方法
所属栏目:[经验] 日期:2021-01-01 热度:197
利用boost来获取当前时间又方便快捷,还不用考虑跨平台的问题。 1. 输出YYYYMMDD #include boost/date_time/gregorian/gregorian.hpp #define BOOST_DATE_TIME_SOURCE std::string strTime = boost::gregorian::to_iso_string( boost::gregorian::day_clock[详细]