C语言
白日梦想家_pf
这个作者很懒,什么都没留下…
展开
-
嵌入式工程师C语言面试常见的0x10个问题
1、用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL要点:①#define语法的基本知识(例如:不能以分号结束、括号的使用,等等)②懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。③意识到这个表达式将使一个16位机的整型数溢出,因此要用到长整型符号L,告诉编译器这个常数是的长整型数。④如果你在你的表达转载 2020-06-13 16:03:50 · 672 阅读 · 0 评论 -
串的基本操作、堆分配存储(详细注释) 严蔚敏
#include<stdio.h>#include<string.h>#include<math.h>#include<malloc.h>#include<iostream>using namespace std;typedef struct HString{ char *ch; //若是非空串,则按串长分配存储区,否...原创 2019-04-10 16:14:10 · 1052 阅读 · 0 评论 -
递归调用详解(图文并茂)
本文主要依据C程序设计(第四版) 谭浩强著,这本书Hanoi的实例,详细讲解递归调用。代码如下#include<stdio.h>void move(int x, int y){ printf("%c--->%c\n", x, y);}void hanoi(int n, char one, char two, char three){ if (n == 1) ...原创 2019-04-07 14:33:26 · 6775 阅读 · 0 评论 -
利用栈解决数制转换问题
#include<stdio.h>#include<stdlib.h>#include<math.h>#include<iostream>#include<malloc.h>using namespace std;#define STACK_INIT_SIZE 100#define STACKINCREAMENT 10 ...原创 2019-04-08 23:31:13 · 743 阅读 · 0 评论 -
手动建立二叉树,并采用前序、中序、后序输出二叉树
**建立如图所示二叉树`#include<stdio.h>#include<stdlib.h>using namespace std;struct NodeBinaryTree{ NodeBinaryTree *_left; NodeBinaryTree *_right; int _date;};NodeBinaryTree *CreatBina...原创 2019-04-17 14:28:21 · 341 阅读 · 0 评论 -
线索二叉树
1.二叉树线索化二叉树的遍历是按照一定的规则把二叉树中的节点按照一定的次序排列成线性序列进行访问的,实质上就是对一个非线性结构进行线索化操作,使得每个节点(除第一个和最后一个外)都有前驱和后继节点,有时为了运算方便需要记录这些前驱和后继节点,称为二叉树线索化,而对于不同的遍历规则,又分为先序线索二叉树,中序线索二叉树,后序线索二叉树。2.线索二叉树的定义(1)思路:一颗具有n个节点的二叉树...转载 2019-04-17 14:34:46 · 346 阅读 · 0 评论 -
图解递归法创建二叉树(图文并茂)
建立如图所示二叉树**基本步骤:**说明:每个中性笔画的框代表真实分配内存建立的节点。铅笔画的框代表没有真实分配内存,没有建立该节点。箭头上数字代表执行(调用)的顺序。详细步骤:一次性输入1 2 4 0 0 5 7 0 0 0 3 0 6 0 0.每个数字中间用空格隔开。当主函数调用CreatBinaryTree()函数时,每递归调用一次,1 2 4 0 0 5 7 0 0 ...原创 2019-04-20 10:35:56 · 11225 阅读 · 5 评论 -
插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序(详细注释)
**插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序**在这里#include<iostream>#include<assert.h>using namespace std;void InsertSort(int *arr,int sz)//插入排序{ for (int i = 0; i < sz-1; i++) { int end ...原创 2019-05-16 09:59:16 · 353 阅读 · 0 评论