- 博客(25)
- 收藏
- 关注
转载 2020-11-10
C语言清空输入缓冲区的N种方法对比C语言中有几个基本输入函数://获取字符系列int fgetc(FILE *stream);int getc(FILE *stream);int getchar(void);//获取行系列char *fgets(char * restrict s, int n, FILE * restrict stream);char *gets(char *s);//可能导致溢出,用fgets代替之。//格式化输入系列int fscanf(FILE * restric
2020-11-10 16:20:55
152
转载 2020-10-16
平时接触C及Java较多,这种层次的语言对数据的表示有一定局限。基本的数据类型无外呼整数和浮点数。整数好说,一般仅需考虑越界问题。但对于浮点数,除了范围外,通常很容易忽略精度问题。浮点数为什么会有精度问题?计算机中的浮点数对应于数学当中的小数。简单计算下,32位浮点数最多可以表示2^32个数,但从数学上说区间[0,1]中的小数就有无穷多个。所以计算机是不可能描述得尽的,必然会有一些近似,也就带来了精度损失。所以在使用计算机中的浮点数之前,我们先要搞清楚计算机表示小数有多准。浮点数标准考虑这个问题,首
2020-10-16 17:32:31
263
原创 墓地雕塑 LA 3708(有一个雕塑不动的完整证明)
**输入:**当前墓碑规模n,添加规模m**解:**取一个墓碑不动(在所有样例都成立),找到其他墓碑移动至距离最近的目标(保证不会有两个墓碑移动到同一目标点),此为最优解。将圆按 10000:n+m 的比例缩小,借用取上下界得方法找到距离最近的目标节点。#include <cstdio> #include <cmath>using namespace std;int main(){ int n,m; while(scanf("%d %d",&n,&.
2020-06-16 18:00:35
490
原创 按距离排序
输入多组数据,每组一行,是一个整数n和一个字符串s输出定义两个整数的距离为两个整数差的绝对值定义两个字符串的距离为两个字符串长度差的绝对值对每组数据:对数组a按和n的距离从小到大排序后输出。距离相同的,值小的排在前面。然后对数组b,按照和s的距离从小到大输出。距离相同的,字典序小的排在前面样例输入2 a1234564 a12345样例输出1,3,0,4,7,8,9,10,15,20,American,Peking,123456789,Jack,To,abcdefghijklm
2020-05-19 19:14:43
1144
转载 结构体在c和c++中的不同
分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明) 这里的Stu实际上就是struct Student的别名。Stu==struct Student 另外这里也可以不写Student(于是也不能
2020-05-13 00:57:58
197
转载 二维数组作为函数形参该如何传递
今天在论坛上有朋友提问:声明函数如下void function(int** pInt),意图是想参数传递一个二维数组。于是就定义了一个二维数组,比如 int[1][1],然后调用函数。结果如何?当然是失败了,编译器提示:cannot convert parameter 1 from ‘int [1][1]’ to ‘int **’,参数类型不匹配。如果要将一个二维数组作为形参,那么函数该怎么声明?来看《C++ Primer》中给出的方法:1. 数组名作为形参[cpp] view plain copy
2020-05-10 17:49:33
5858
2
转载 sqrt函数的几种实现方法
Implement int sqrt(int x).Compute and return the square root of x.1:二分查找思路:要实现一个sqrt函数,可以使用二分法,首先确定一个范围[begin,end],这个范围的中间数mid,看mid的平方是否等于x,如果相等,则返回mid,如果不等则缩小[begin,end]的范围,为原来的一半。这里的初始范围可以是[1,x],也可以是更精确一些的[1, (x/2) + 1]。(因 (x/2) + 1 的平方等于x+1+(x^2
2020-05-09 17:43:56
5425
原创 浙大PAT:堆的操作集
7-5 堆中的路径 (25分)将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式:每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式:对输入中给出的每个下标i,在一行...
2020-04-26 19:12:01
346
原创 构建完全二叉搜索树
7-7 Complete Binary Search Tree (30分)A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys le...
2020-04-24 15:06:33
698
原创 C语言实现平衡二叉树全过程
Root of AVL TreeAn AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child subtrees of any node differ by at most one; if at any time they differ by more than on...
2020-04-23 23:36:44
1599
原创 浙大PAT:是否是同一颗二叉排序树
7-4 是否同一棵二叉搜索树 (25分)给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L...
2020-04-23 15:53:28
166
原创 浙大PAT:7-5 Tree Traversals Again (25分)
7-5 Tree Traversals Again (25分)An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered fro...
2020-04-18 22:09:52
316
原创 浙大PAT遍历叶子结点:7-4 List Leaves
7-4 List Leaves (25分)Given a tree, you are supposed to list all the leaves in the order of top down, and left to right.Input Specification:Each input file contains one test case. For each case, the...
2020-04-11 23:22:40
211
原创 浙大PAT:树的同构
7-3 树的同构 (25分)给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图1图2现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N (≤1...
2020-04-11 11:55:29
202
原创 浙大PAT出栈序列:7-3 Pop Sequence
Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, …, N and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the...
2020-04-10 22:32:55
515
原创 浙大PAT反转链表:7-2 Reversing Linked List
7-2 Reversing Linked List (25分)Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6, if K=3, then you ...
2020-04-04 17:14:06
917
原创 浙大PAT最大子列和:Maximum Subsequence Sum
#include <iostream>int MaxSubSeqSum(int A[], int n, int &first, int &last){ int ThisSum(0),MaxSum(A[0]); int i(0),first_1(0); for(;i<n;i++) { ThisSum+=A[i]; if(This...
2020-04-02 13:56:28
128
原创 浙大PAT:一元多项式的加法与乘法
PAT:一元多项式的加法与乘法#include <stdio.h>#include <stdlib.h>typedef struct Node{ int xs; int zs; struct Node* next;}Node,*List;void Init(List *L){ *L = (List)malloc(sizeof(N...
2020-04-02 11:51:27
223
原创 统计二进制数中1的个数
题目:小A刚学了二进制,他十分激动。为了确定他的确掌握了二进制,你给他出了这样一道题目:给定N个非负整数,将这N个数字按照二进制下1的个数分类,二进制下1的个数相同的数字属于同一类。求最后一共有几类数字?输入描述:输入的第一行是一个正整数T(0<T<=10),表示样例个数。对于每一个样例,第一行是一个正整数N(0<N<=100),表示有多少个数字。接下来...
2019-12-20 16:00:15
529
转载 android fragment
Fragment/Activity生命周期图图片来源:https://github.com/xxv/android-lifecycleFragment状态变化常用方法1. onHiddenChanged(boolean hidden)Activity内部通过show和hide方法切换Fragment时,引发的状态变迁。2. setUserVisibleHint(boolean isVisibleT...
2018-07-02 13:35:58
348
转载 Android 数据库
1、DatabaseHelper.java 数据库帮助类/** * 数据库帮助类 * Created by 广靓 on 2017/2/5. */public class DatabaseHelper extends SQLiteOpenHelper { private static String DATABASE_NAME="MyDatabase"; publi...
2018-07-02 13:34:18
343
转载 多线程
使用线程池可以给我们带来很多好处,首先通过线程池中线程的重用,减少创建和销毁线程的性能开销。其次,能控制线程池中的并发数,否则会因为大量的线程争夺CPU资源造成阻塞。最后,线程池能够对线程进行管理,比如使用ScheduledThreadPool来设置延迟N秒后执行任务,并且每隔M秒循环执行一次。下面会通过介绍线程池中的真正实现者——ThreadPoolExecutor来引出Android中的4类线...
2018-07-02 13:32:00
167
转载 Activity
1.Activity的创建Activity 是Android 四大组件之一,用于展示界面 * Activity 中所有操作都与用户密切相关,是一个负责与用户交互的组件,它上面可以显示一些控件也可以监听并处理用户的事件。 * 一个Activity 通常就是一个单独的屏幕,Activity 之间通过Intent 进行通信。1.自定义类继承Activity新建一个Android 工程,在src 目录下新...
2018-07-02 13:29:59
334
原创 cmake+vs2017+opencv3.3.0编译contrib模块详解
最近在做opencv下的人脸识别程序,要用到opencv中的FaceRecognizer类,然而这个类在需要opencv_contrib库,官方并没有将OpenCV_contrib库放置在官网上,而是将其放在了GitHub上,所以我们需要自行编译OpenCV_contrib库。 一、准备工具。 编译OpenCV_contrib库需要自行安装
2017-11-09 14:19:46
3831
4
转载 进程创建函数fork()返回值小解
fork是最难理解的概念之一:它执行一次却返回两个值。 首先我们来看下fork函数的原型: #include #include pid_t fork(void); 返回值: 负数:如果出错,则fork()返回-1,此时没有创建新的进程。最初的进程仍然运行。 零:在子进程中,fork()返回0 正数:在负进程中,fork()返回正的子进程的PID
2017-11-06 20:07:21
2278
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人