- 博客(62)
- 资源 (8)
- 收藏
- 关注
原创 PAT (Advanced Level) Practice — 1084 Broken Keyboard (20 分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805382902300672On a broken keyboard, some of the keys are worn out. So when you type some sentences, the characters corresponding t...
2019-01-31 21:45:08 233
原创 PAT (Advanced Level) Practice — 1081 Rational Sum (20 分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805386161274880Given N rational numbers in the form numerator/denominator, you are supposed to calculate their sum.Input Specific...
2019-01-31 21:24:21 166
原创 PAT (Advanced Level) Practice — 1077 Kuchiguse (20 分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805390896644096The Japanese language is notorious for its sentence ending particles. Personal preference of such particles can be c...
2019-01-31 21:24:06 177
原创 PAT (Advanced Level) Practice — 1073 Scientific Notation (20 分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805395707510784Scientific notation is the way that scientists easily handle very large numbers or very small numbers. The notation ...
2019-01-31 18:59:47 144
原创 PAT (Advanced Level) Practice — 1069 The Black Hole of Numbers (20 分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805400954585088For any 4-digit integer except the ones with all the digits being the same, if we sort the digits in non-increasing ...
2019-01-28 22:43:47 92
原创 栈的应用——迷宫求解
do{ 若当前位置可通, 则{ 将当前位置插入栈顶; 若该位置是出口位置,则算法结束; 否则切换当前位置的东邻方块为新的当前位置; } 否则 { 若栈不空且栈顶位置尚有其他方向未被探索, 则设定新的当前位置为: 沿顺时针方向旋转找到的栈顶位置...
2019-01-28 21:03:45 380
原创 栈的应用——行编辑程序
在用户输入一行的过程中,允许 用户输入出差错,并在发现有误时 可以及时更正。其合理做法是:设立一个输入缓冲区,用以接受用户输入的一行字符,然后逐行存入用户数据区,并假设“#”为退格符,“@”为退行符。#include<stdio.h>#include<stdlib.h> #define STACK_INIT_SIZE 100//顺序栈存储空间的初始...
2019-01-28 16:30:02 617
原创 栈的应用——进制转换
通过栈实现:对于任意一个非负十进制正数,输出与之等值的八进制数。#include<stdio.h>#include<stdlib.h> #define STACK_INIT_SIZE 100//顺序栈存储空间的初始分配量#define STACKINCREMENT 10//顺序栈存储空间的分配增量 #define OVERFLOW -2 //堆栈上溢...
2019-01-28 14:52:56 754
原创 顺序栈的基本操作
关于顺序栈的基本操作▲01初始化顺序栈,构造空栈S InitStack_Sq(SqStack &S)▲02销毁栈 DestoryStack_Sq(SqStack &S)▲03置空栈S ClearStack_Sq(SqStack &S)▲04 判断栈是否为空 StackEmpty_Sq(SqStack S)▲05返回栈S中元素个数 StackLength_Sq(S...
2019-01-28 14:15:53 485
原创 [Error] invalid initialization of non-const reference of type 'ElemType& {aka int&}' from an rvalue
[Error] invalid initialization of non-const reference of type 'ElemType& {aka int&}' from an rvalue of type 'int'这是函数参数引用临时变量错误,c++中临时变量不能作为非const的引用参数 解决方法:需要在函数声明和定义中在该参数的类型前添加const关键字。...
2019-01-28 14:11:18 7310
原创 一元多项式的表示及其运算
明天继续完善Status cmp(PElemType a, PElemType b) { if (a.expn>=b.expn) return 1; else return 0;}void CreatPolyn(PLinkList &P, int m) { // 算法2.22 // 输入m项的系数和指数,建立表示一元多项式的有序链表P PLink ...
2019-01-25 22:42:16 813
原创 带头结点的线性链表基本操作以及归并操作
Status DelFirst_E(ELinkList *L, Link h, Link *q){ *q = h->next; if(*q) //链表非空 { h->next = (*q)->next; if(!h->next) //h后只有一个结点 (*L).tail = h; (*L).len--;...
2019-01-25 22:38:02 474
原创 双循环链表的基本操作
双循环链表的基本操作【算法2.18、2.19】Status InitList_DuL(DuLinkList *L){ *L = (DuLinkList)malloc(sizeof(DuLNode)); if(!(*L)) exit(OVERFLOW); (*L)->next = (*L)->prior = *L; return OK;} Status ...
2019-01-25 22:31:30 246
原创 静态链表的基本操作——集合运算
利用静态链表计算集合(A-B)∪(B-A),由终端输入集合元素,先建立表示集合A的静态链表S,而后在输入集合B的元素的同时查找S表,若存在和B相同的元素,则从S表中删除之,否则将此元素插入S表。【算法2.16】1.将整个数组空间初始化成一个链表 2.从备用空间取得一个结点 3.将空闲结点链结到备用链表上 #include<stdio.h>#include<...
2019-01-25 22:25:32 1207 1
原创 静态链表的基本操作
首先让数组的元素都是有两个数据域组成,data和cur。也就是说,数组的每个下标都对应一个data和一个cur。数据域data,用来存放数据元素,也就是通常我们要处理的数;而游标cur相当于单链表中的next指针,存放该元素的后继在数组中的下标。通常我们把这种用数组描述的链表叫做静态链表(游标实现法)。数组逻辑上分为两个链表:备用链表(空闲的节点)和数据链表(已被使用的节点)我们把静态...
2019-01-25 22:23:54 913
原创 单链表的基本操作——归并
将两个有序链表La、Lb合并为一个有序链表Lc : MergeList 【算法2.12】#include<stdio.h>#include<stdlib.h>typedef int Status; //状态码识别类型typedef int ElemType;#define OVERFLOW -2 //堆栈上溢#define UNDERFLOW...
2019-01-25 22:17:33 1105
原创 单链表的基本操作
学习严蔚敏老师《数据结构(C语言版)》,关于单链表的基本操作:1.单链表的存储结构2.初始化 InitList_L3.在带头结点的单链表中第i个位置之前插入元素e ListInsert_L【2.9】4.头插法建立单链表L(逆序输入)CreateList_HL【2.11】5.尾插法建立单链表L(顺序输入)CreateList_TL6.在带头结点的单链表中删除第i个元素,并用e返回其值 ...
2019-01-25 22:15:02 1290
原创 顺序表的基本操作——归并
1、【算法2.1】假设:有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即:线性表中的数据元素即为集合中的成员。 现要求一个新的集合A=A∪B。具体操作:扩大线性表 LA,将存在于线性表LB 中而不存在于线性表 LA 中的数据元素插入到线性表 LA 中去。代码实现:合并的代码:Union#include<stdio.h>#include<s...
2019-01-25 21:10:00 2630
原创 顺序表的基本操作
学习严蔚敏老师《数据结构(C语言版)》,关于顺序表的基本操作:1.线性表的动态分配顺序存储结构2.初始化 InitList_Sq【2.3】3.插入 ListInsert_Sq【2.4】4.删除 ListDelete_Sq【2.5】5.遍历顺序表 ListTraverse_Sq6.置为空表 ClearList_Sq7.销毁线性表 DestroyList_Sq8.判断是否为空表 Li...
2019-01-25 17:42:38 643
原创 PAT (Advanced Level) Practice — 1065 A+B and C (64bit) (20 分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805406352654336Given three integers A, B and C in [−263,263], you are supposed to tell whether A+B>C.Input Specification...
2019-01-24 22:11:41 193
原创 PAT (Advanced Level) Practice — 1058 A+B in Hogwarts (20 分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805416519647232If you are a fan of Harry Potter, you would know the world of magic has its own currency system -- as Hagrid explain...
2019-01-24 21:12:55 153
原创 PAT (Advanced Level) Practice — 1054 The Dominant Color (20 分)
PAT (Advanced Level) Practice — 1054 The Dominant Color Behind the scenes in the computer's memory, color is always talked about as a series of 24 bits 数组定义在函数中时,占用的内存来自栈空间,局部变量是在栈上分配内存空间的,栈空间是在进程创建时初始化的,有固定的大小,一般为几十KB,所以太大的数组会耗光栈空间,会造成栈溢出。 全局变量一般分配在数据段,全局
2019-01-24 14:20:03 127
原创 PAT (Advanced Level) Practice — 1050 String Subtraction (20 分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805429018673152Given two strings S1 and S2, S=S1−S2 is defined to be the remaining string after taking all the characte...
2019-01-23 20:42:15 116
原创 C语言中的可变数组和单链表
可变数组仔细看这段代码:#include<stdio.h>#include<stdlib.h>const int BLOCK_SIZE =20;typedef struct{ int *array; int size;}Array;Array array_create(int init_size);void array_free(Array *a)...
2019-01-23 11:31:45 569
原创 c语言编译预处理指令和宏
#define PI 3.14159 //一定不能加分号;#include<stdio.h>#define PI 3.14159#define PI2 2*PI //pi*2#define PRT printf("%f ",PI);\ printf("%f ",PI2);int main(){ //printf("%d\n",PI2); PRT;//...
2019-01-22 21:29:25 261
原创 关于全局变量与静态本地变量
全局变量全局变量初始化如果函数内部存在与全局变量同名的变量,则全局变量被隐藏静态本地变量#include<stdio.h>int gAll=12;int f(){ //int all=1; static int all=1; printf("in %s all=%d\n",__func__,all); all+=1; printf("...
2019-01-21 22:39:19 357
原创 c语言【结构类型】- 结构体
声明结构的形式:输⼊结构指向结构的指针结构数组结构中的结构结构中的结构的数组声明结构的形式:#include <stdio.h>struct date{ int month; int day; int year;};int main() { struct date today; today=(struct date)...
2019-01-21 22:35:26 472
原创 c语言【结构类型】- 枚举、联合
联合#include<stdio.h>typedef union{ int x; char ch[sizeof(int)];}CHI;int main(){ CHI chi; int i; chi.x=1234;//十六进制为04D2 for(i=0;i<sizeof(int);i++){ printf...
2019-01-21 22:26:27 248
原创 c语言 字符串函数
putchargetcharstrlenstrcmpstrcpystrcatputchar• int putchar(int c);• 向标准输出写⼀个字符• 返回写了⼏个字符,EOF(-1)表⽰写getchar• int getchar(void);• 从标准输⼊读⼊⼀个字符• 返回类型是int是为了返回EO• Windows—>Ctrl-Z ...
2019-01-21 21:40:04 180
原创 c语言 字符串
字符串以0(整数0)结尾的⼀串字符 0或’\0’是⼀样的,但是和’0’不同 0标志字符串的结束,但它不是字符串的⼀部分 计算字符串⻓度的时候不包含这个0 字符串以数组的形式存在,以数组或指针的形式访问,更多的是以指针的形式 string.h ⾥有很多处理字符串的函数字符串变量• char *str = “Hello”;• char word[] = “Hello”;• c...
2019-01-21 19:40:41 151
原创 指针的运算操作&&动态内存的分配
指针的运算操作&&动态内存的分配如果指针不是指向⼀⽚连续分配的空间,如数组,则这种运算没有意义 *的优先级虽然⾼,但是没有++⾼• 常⽤于数组类的连续空间操作• 在某些CPU上,这可以直接被翻译成⼀条汇编指令⽆论指向什么类型,所有的指针的⼤⼩都是⼀样的,因为都是地址但是指向不同类型的指针是不能直接互相赋值的 这是为了避免⽤错指针向malloc申请的空间的⼤⼩是以字节为单位的• 返回的结果是void*,需要类型转换为⾃⼰需要的类型
2019-01-21 17:19:43 173
原创 详解c语言中的指针
关于取地址符 &指针1.作为参数的指针2.访问那个地址上的变量 * 3.指针的应用场景指针与数组关于取地址符 &1.&只能对变量取地址,不能对没有地址的东⻄取地址,&(i++)是不对的//64位架构 #include<cstdio> int main(){ int i=6; int *p=&i; p...
2019-01-21 16:50:47 464
原创 详解c语言中的sizeof
首先,sizeof是c语言的一种单目操作符,以字节的形式给出了其操作数的存储大小,其返回值为size_t,在64位机器下被定义为long unsigned int。1.基本数据类型#include<stdio.h>#include<cstring>int main(){ printf("%d\n",sizeof(int));//4 printf("%d\n...
2019-01-21 15:39:52 546
原创 线性表及其实现(顺序表和单链表)
首先,要明确线性表是逻辑结构,而顺序表和链表是存储结构顺序存储结构是——随机存取结构链式存储结构是——顺序存取结构随机存取结构是直接存取,可以通过下标直接访问,与存储位置无关。 顺序存取结构是非随机存取,不能通过下标访问,只能按照存储顺序存取,与存储位置有关。 顺序存储结构:用一组地址连续的存储单元依次存储线性表的各个数据(逻辑相邻、物理相邻) 随机存储结构(典型代表为链式存...
2019-01-20 20:31:55 357
原创 PAT (Advanced Level) Practice — 1041 Be Unique (20 分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805444361437184Being unique is so important to people on Mars that even their lottery is designed in a unique way. The rule of winn...
2019-01-17 20:13:36 236
原创 PAT (Advanced Level) Practice — 1035 Password (20 分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805454989803520To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem is that there ar...
2019-01-17 19:26:28 192
原创 PAT (Advanced Level) Practice — 1029 Median (25 分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805466364755968Given an increasing sequence S of N integers, the median is the number at the middle position. For example, the medi...
2019-01-16 22:52:19 174
原创 PAT (Advanced Level) Practice — 1028 List Sorting (25 分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805468327690240Excel can sort records according to any column. Now you are supposed to imitate this function.Input Specification:...
2019-01-16 20:53:11 199
原创 PAT (Advanced Level) Practice — 1016 Phone Bills (25 分)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805493648703488A long-distance telephone company charges its customers by the following rules:Making a long-distance call costs a...
2019-01-15 22:35:45 186
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人