-
数据结构之数组Array实例详解
所属栏目:[经验] 日期:2021-01-11 热度:131
数据结构之数组Array实例详解 数组Array 基本操作 Status InitArray(int dimm,...)//若维数dim和随后的各维长度合法,则构造相应的数组A,并返回OK Status DestroyArray() //销毁数组A Status Locate(va_list ap,int e,...) //A是n维数组,e为元素变量,随后[详细]
-
数据结构 数组顺序存储详细介绍
所属栏目:[经验] 日期:2021-01-11 热度:90
数据结构 数组顺序存储 最近学习数据结构,看到数组顺序存储,很是头昏,看不懂,很多东西,这里在网上找了比较详细的资料,大家好好看注释内容: #includestdarg.h #define MAX_ARRAY_DIM 8 //假设数组维数的最大值为8 typedef struct { ElemType *base; //[详细]
-
Linux下g++编译与使用静态库和动态库的方法
所属栏目:[经验] 日期:2021-01-11 热度:125
在windows环境下,我们通常在IDE如VS的工程中开发C++项目,对于生成和使用静态库(*.lib)与动态库(*.dll)可能都已经比较熟悉,但是,在linux环境下,则是另一套模式,对应的静态库(*.a)与动态库(*.so)的生成与使用方式是不同的。刚开始可能会不适应,[详细]
-
求解旋转数组的最小数字
所属栏目:[经验] 日期:2021-01-11 热度:166
求解旋转数组的最小数字 题目描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小数组。例如数组{3,4,5,1,2}是数组{1,2,3,5}的旋转数组,该数组的最小值为1。 思路解析: O(N)[详细]
-
浅谈头文件algorithm中的常用函数
所属栏目:[经验] 日期:2021-01-11 热度:67
一、非修改性序列操作(12个) 循环 对序列中的每个元素执行某操作 for_each() 查找 在序列中找出某个值的第一次出现的位置 find() 在序列中找出符合某谓词的第一个元素 find_if() 在序列中找出一子序列的最后一次出现的位置 find_end() 在序列中找出第一次[详细]
-
通过先序遍历和中序遍历后的序列还原二叉树(实现方法)
所属栏目:[经验] 日期:2021-01-11 热度:157
当我们有一个 先序遍历序列:1,3,7,9,5,11 中序遍历序列:9,1,11 我们可以很轻松的用笔写出对应的二叉树。但是用代码又该如何实现? 下面我们来简单谈谈基本思想。 首先,先序遍历的顺序是根据 根-左孩子-右孩子 的顺序遍历的,那么我们可以率先确认的是先序[详细]
-
IOS 开发UITextView回收或关闭键盘
所属栏目:[经验] 日期:2021-01-11 热度:126
IOS 开发UITextView回收或关闭键盘 iOS开发中,发现UITextView没有像UITextField中textFieldShouldReturn:这样的方法,那么要实现UITextView关闭键盘,就必须使用其他的方法,下面是可以使用的几种方法。 1.如果你程序是有导航条的,可以在导航条上面加多一[详细]
-
面试题快慢链表和快慢指针
所属栏目:[经验] 日期:2021-01-11 热度:79
腾讯的一道面试题:如何快速找到位置长度单链表的中间节点?普通方法,就是先遍历,在从头找到2/length的中间节点。算法复杂度是:O(3*n/2)。而更快的方法就是利用快慢指针的原理。 快慢链表:利用标尺的思想,设置两个指针(一快一慢)*serach和*mid,刚开[详细]
-
详解原码、反码与补码存储与大小
所属栏目:[经验] 日期:2021-01-11 热度:167
详解原码、反码与补码存储与大小 原码: 如果机器字长为N个bit,那么一个数的原码就是N位二进制数,最高位 是符号位,1代表负数,0代表正数。 反码: 正数的反码就是原码,负数的反码就是符号位不变,其他取反。 补码: 正数的补码与其原码相同;负数的补码是[详细]
-
数据结构用两个栈实现一个队列的实例
所属栏目:[经验] 日期:2021-01-11 热度:84
数据结构用两个栈实现一个队列的实例 栈是先进后出,队列是先进先出 每次元素都push在st1中,pop的时候如果st2为空,将st1的栈顶元素放在st2的栈底,这样st1的所有元素都放在st2中,st1的栈底就是st2的栈顶,pop st2的栈顶,这样就满足了队列的先进先出。 #in[详细]
-
linux 匿名管道实例详解
所属栏目:[经验] 日期:2021-01-11 热度:139
linux中进程的一种通信方式――匿名管道 pipe函数建立管道 调用pipe函数时在内核中开辟一块缓冲区(称为管道)用于通信,它有一个读端一个写端,然后通过_pipe参数传出给用户程序两个文件描述符,_pipe[0]指向管道的读端,_pipe[1]指向管道的写端。所以管道在用户[详细]
-
数据结构 栈的操作实例详解
所属栏目:[经验] 日期:2021-01-11 热度:105
数据结构 栈的操作实例详解 说明: 往前学习数据结构,想运行一个完整的顺序栈的程序都运行不了,因为书上给的都是一部分一部分的算法,并没有提供一个完整可运行的程序,听了实验课,自己折腾了一下,总算可以写一个比较完整的顺序栈操作的小程序,对于栈也[详细]
-
数据结构 中数制转换(栈的应用)
所属栏目:[经验] 日期:2021-01-11 热度:57
数据结构 中数制转换(栈的应用) 问题描述: 将一个非负的十进制整数N转换为另一个等价的基为B的B进制数的问题。 解答:按除2取余法,得到的余数依次是1、0、1、1,则十进制数转化为二进制数为1101。 分析:由于最先得到的余数是转化结果的最低位,最后得到的[详细]
-
矩阵的行主序与列主序的分析
所属栏目:[经验] 日期:2021-01-11 热度:58
1.矩阵在内存中的存储 不管是D3D还是OpenGL,使用的矩阵都是线性代数标准的矩阵,只是在存储方式上有所不同。分别为:行主序(Direct3D),列主序(OpenGL) 存储顺序说明了线性代数中的矩阵如何在线性的内存数组中存储。 例如:内存中使用一个二维数组m存储矩阵[详细]
-
数据结构串的操作实例详解
所属栏目:[经验] 日期:2021-01-11 热度:107
数据结构串的操作实例详解 串是一种特殊的线性表,它的每个结点是一个字符,所以串也称作字符串。 关于串的操作主要有求串长,串复制,串连接,求子串,串插入,串删除,子串定位等。串的操作也是C语言笔试中常考的一部分。 下面的代码实现了串的主要操作。[详细]
-
华为机试题之统计单词个数实例代码
所属栏目:[经验] 日期:2021-01-02 热度:70
输入n个单词,统计各个单词出现的个数 #include iostream #include map #include string using namespace std; int main() { mapstring,int k; string word; while(cinword) ++k[word]; for(mapstring,int::iterator i=k.begin();i!=k.end();i++) cout(*i).f[详细]
-
快速解决boost库链接出错的问题(分享)
所属栏目:[经验] 日期:2021-01-02 热度:142
安装完最新的Boost库 官方说明中有一句话: Finally, $ ./b2 install will leave Boost binaries in the lib/ subdirectory of your installation prefix. You will also find a copy of the Boost headers in the include/ subdirectory of the installatio[详细]
-
数据结构与算法中二叉树子结构的详解
所属栏目:[经验] 日期:2021-01-01 热度:155
数据结构与算法中二叉树子结构的详解 需求 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 树的描述: class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { t[详细]
-
顺序线性表的代码实现方法
所属栏目:[经验] 日期:2021-01-01 热度:128
1、采用一个数组实现一个顺序线性表中添加元素、删除元素等基本操作 package com.ietree.basic.datastructure.Sequence;import java.util.Arrays;/** * 顺序线性表 * * @param T * @author Dylan */public class SequenceListT { private final int DEFAULT_[详细]
-
Visual Stduio 2010开发环境搭建教程
所属栏目:[经验] 日期:2021-01-01 热度:186
Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。 Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了NET Framework4.0、Micr[详细]
-
指针操作数组的两种方法(总结)
所属栏目:[经验] 日期:2021-01-01 热度:179
指针操作数组,方法一是p+index,方法二是p[index],第二种方法跟数组访问方法是一样的。 数组引用返回的是数组的第一个元素的指针地址。 可以将指针指向数组的任意元素,然后从那里开始访问,只要注意不越界就行了,这说明数组只是将元素连续堆叠,并不需要[详细]
-
Visual Studio 2017新版发布 更强大!
所属栏目:[经验] 日期:2021-01-01 热度:154
Visual Studio 2017新版发布:更强大! 官方发布原文:A fresh update to Visual Studio 2017 and the next preview 今年 3 月份,微软发布了 Visual Studio 2017,这也是迄今 Windows 设备最新、最强大的集成开发环境。 在本次 Build 开发者大会上,Visual S[详细]
-
高效实现整型数字转字符串int2str的方法
所属栏目:[经验] 日期:2021-01-01 热度:52
将数字转换成字符串有很多方法,现在给出一种高效的实现方法。开阔眼界。 char* int2str(unsigned int values){ const char digits[11] = "0123456789"; char* crtn = new char[32]; crtn += 31; *crtn = ' '; do { *--crtn = digits[values%10]; } while ([详细]
-
详谈全排列next_permutation() 函数的用法(推荐)
所属栏目:[经验] 日期:2021-01-01 热度:181
这是一个c++函数,包含在头文件algorithm里面,下面是基本格式。 1 int a[];2 do{3 4 }while(next_permutation(a,a+n)); 下面的代码可产生1~n的全排列 #include stdio.h#include algorithmusing namespace std;int main(){ int n; while(scanf("%d", for(int[详细]
-
Visual Studio 2017创建.net standard类库编译出错原因及解决方
所属栏目:[经验] 日期:2021-01-01 热度:138
正式版上个月已经Release了,从那时到现在经常会收到更新提示,估计问题还不少吧!其中最吸引我的当然是.net standard与.net core。 刚好最近接触.net standard项目,新建一个类库直接编译却出错!!立马心情不太好了,对它的兴趣大打折扣! 如果是新手估计[详细]