摘要:
总共14种 首先栈是一个先入后出的结构。 假设D先出栈,只有可能是ABCD进栈,DCBA出 假设C先出栈,就是ABC进栈,C出,然后考虑AB是否出和D是否进的情况 若A不出B出,那么B出后,D就要进,则为CBDA 若A出B出,那么B出后D再进,则为CABD 若D先进再考虑A和B的话则只有一种情况,C 阅读全文
摘要:
下面我们讲下具体带头结点和不带头结点的一个情况。 头指针:通常使用“头指针”来标识一个链表,如单链表L,头指针为NULL的时表示一个空链表。链表非空时,头指针指向的是第一个结点的存储位置。 头结点:在单链表的第一个结点之前附加一个结点,称为头结点。头结点的Data域可以不设任何信息,也可以记录表长等 阅读全文
摘要:
##引用 realloc 原型:extern void *realloc(void *mem_address, unsigned int newsize); 用法:#include <stdlib.h> 有些编译器需要#include <alloc.h> 功能:改变mem_address所指内存区域 阅读全文
摘要:
##一、什么是引用 引用,顾名思义是某一个变量或对象的别名,对引用的操作与对其所绑定的变量或对象的操作完全等价 语法:类型 &引用名=目标变量名; ###C++ 引用 vs 指针 引用很容易与指针混淆,它们之间有三个主要的不同: 不存在空引用。引用必须连接到一块合法的内存。 一旦引用被初始化为一个对 阅读全文
摘要:
#线性表的链式存储实现 ###不要求逻辑上相邻的两个元素物理上也相邻;通过“链”建立起数据元素之间的逻辑关系。 ####• 插入、删除不需要移动数据元素,只需要修改“链”。 typedef struct lnode *list; //取别名 struct lnode *结构体指针等价于list st 阅读全文
摘要:
###区别1:scanf()可以同时接受多个字符串,而gets()一次只能接受一个字符串。 ###区别2:scanf()可以不能接受带空格的字符串,而gets()能接受带空格的字符串。 ###区别3:scanf()不能接受长度为0的字符串,会自动忽略开头的所有空格,并且以空格、换行符、回车结束输入。 阅读全文
摘要:
大家都知道 int 在 linux 系统下默认是占 4 个字节,数值表示范围是:-2147483648 ~ 2147483647。即使是无符号 unsigned int 类型表示范围:0—4294967295,大约 42 亿。 在大多情况下 int 类型都是可以满足需要的,但不乏有特殊情况;今天做 阅读全文
摘要:
##整个最关键的就是这句话: “利用数组的连续存储空间顺序存放线性表的各元素” //线性表的顺序存储实现 typedef struct listnode *list;//typedef是预定义关键字,相当于类型重命名,起个简单的名字,这里就是用List表示struct LNode结构体指针 stru 阅读全文
摘要:
7-62 乘法口诀数列 (20 分) 本题要求你从任意给定的两个 1 位数字 a1 和 a2 开始,用乘法口诀生成一个数列 {an},规则为从 a1 开始顺次进行,每次将当前数字与后面一个数字相乘,将结果贴在数列末尾。如果结果不是 1 位数,则其每一位都应成为数列的一项。 输 阅读全文
摘要:
###7-38 日期格式化 (5 分) 世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。 输入格式: 输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日 阅读全文