PAT/CODEUP
文章平均质量分 63
刷题
beautiful_Anne
这个作者很懒,什么都没留下…
展开
-
1074 Reversing Linked List (25 分)
#include <stdio.h>#define maxn 100001int total_number,length;struct Node{int address,data,next;}node[maxn];void Reverse(Node node[],int initial_position,int flag){//if(t0) return; //递归终止条件if(flag!=length) //每四个转一次{Reverse(node,node[init原创 2021-05-29 17:00:26 · 97 阅读 · 0 评论 -
1003 Emergency (25 分) Dijkstra算法
#include <stdio.h>#include using namespace std;const int INF=1000;const int MAX =100;int number_city,number_road,first_city,last_city,rescue_sum[MAX]={0};typedef struct Graph{int rescue_people[MAX];int weight[MAX][MAX]; //要初始化为0}Graph;i原创 2021-05-04 20:29:44 · 99 阅读 · 0 评论 -
问题 A: 算法9-9~9-12:平衡二叉树的基本操作
http://codeup.hustoj.com/problem.php?cid=100000614&pid=0//19:04#include <stdio.h>#include using namespace std;//首先要通过“插入”操作(递归 )建立一个二叉平衡树,然后通过层序遍历查找。/*创建Create函数:通过insertnode,插入一个数组data插入节点函数insertnode:二叉查找树的顺序插入。插入后判断平衡因子是否失衡getBalanceFa原创 2021-04-26 21:05:34 · 196 阅读 · 0 评论 -
1020 Tree Traversals (25 分)--已知先序、中序构造二叉树
//9:08-9:47 我做的是先序和中序的,题目要求是后序中序方法就是:首先需要在草图上明确先序后序区间,然后见代码吧一些语法#include <stdio.h>#include using namespace std;int pre[30]={0},in[30]={0};int n;struct node //C++的结构体这么写就可以了{int data;node *lchild,rchild;};node create(int preL,int preR,i原创 2021-04-22 09:54:58 · 109 阅读 · 0 评论 -
1045 快速排序 (25 分) 找主元->活用递推(左右关系),暴力求解超时。
这道题毋庸置疑,我的第一个做法就是暴力求解,一个循环里面套两个循环,结果超时://#include <stdio.h>#include <vector>using namespace std;int main(){ int N,left=0,right=0,flag=0; vector<int> result; vector<int> v1; //能直接将所有元素初始化为0 scanf("%d",&N);原创 2021-04-17 20:20:25 · 283 阅读 · 0 评论 -
PATA1059 Prime Factors (25 分) 质因子分解(质因子结构体的一些问题)+测试点3:1=1的特判输出+筛法打素数表的进一步应用
写代码中遇到的问题:①prime[max]需要作为参数传入素数表函数,要改变它的值。C语言如何数组传参?:void myFunction(int param[]) 或者void myFunction(int param[10])main 函数里面要引用的时候直接写:void myFunction(param) 就好了。②数据结构的写法:这么写:typedef struct Fac {} Fact[max];再在main函数里面引用的时候要写:Fact fac; 然后用-> (就记这个吧原创 2021-04-17 10:47:22 · 254 阅读 · 0 评论 -
PAT B1013数素数——“筛法”打素数表,注意max的范围到10^6
//8:09 “筛法"素数表 8:23题看错了重打: 8:40-9:04/这道题主要在于测试点4: 要将max改到10^6 我尝试都改成long出现段错误(int 10^9)格式问题有更简洁的代码形式:if(count%10!=0&&i<n) printf(" “); else printf(”\n");判断素数可以从2到sqrt(1.0n)即可,但此处是筛法不需要判断素数!!!这里有点花费时间*/#include <stdio.h>#define max 10原创 2021-04-17 09:11:20 · 142 阅读 · 0 评论