自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 收藏
  • 关注

原创 获取栅格的统计数据并导出至CSV

【代码】获取栅格的统计数据并导出至CSV。

2024-07-18 22:29:18 31

原创 逐像元提取栅格值并绘制直方图

【代码】逐像元提取栅格值并绘制直方图。

2024-07-18 21:50:32 18

原创 python基础知识 ( 4 ) ——字典(学习笔记整理)

摘要:python中字典的基础知识

2023-07-23 14:12:46 250

原创 python基础知识 ( 1 ) ——字符串(学习笔记整理)

摘要:python中关于字符串的基础知识

2023-07-20 14:11:24 182

原创 python基础知识 ( 3 ) ——列表(学习笔记整理)

摘要:python中关于列表的基本方法和函数

2023-07-20 14:07:29 314

原创 C++ Primer Plus 6.11_6

#include<iostream>#include<string>using namespace std;struct LNode{ string name; double money;};int main(void){ int x; cin>>x; cin.get(); LNode *number = new LNode[x]; for(int i=0;i<x;i++) { getline(cin,number[i].name);

2021-11-14 22:05:25 378

原创 C++ Primer Plus 6.11_7

#include<iostream>#include<cstring>#include<cctype>int main(){ using namespace std; char word[20]; cout<<"Enter words (q to quit):"<<endl; cin>>word; int vowel,consonants,others; vowel=consonants=others=0; wh

2021-11-14 22:04:48 130

原创 C++ Primer Plus 6.11_4答案

#include<iostream>using namespace std;const int strsize=20;struct bop{ char fullname[strsize]; char title[strsize]; char bopname[strsize]; int preference;};int main(void){ int x; cin>>x; cin.get(); bop number[x]; char str[strsize

2021-11-14 22:03:54 242

原创 c++ Primer Plus 7.13_7

#include<iostream>using namespace std;const int max=5;double *Fill_array(double *front,double *rear);void Show_array(double *front,double *rear);void revalue(double *front, double *rear,double r);int main(void){ double properties[5]; doub

2021-11-14 22:02:42 995

原创 C++ Primer Plus 7.13_10

#include<iostream>using namespace std; double calculate(double a, double b, double (*pf)(double , double));double add(double , double);double minu(double, double);double multiply(double, double);int main(void){ double (*pa[3])(double, double)

2021-11-14 22:01:29 669

原创 C++ primer plus 8.8_6

#include<iostream>#include<cstring>#include<string>using namespace std;template <typename T>T max5(T num[], int n);template <> char* max5( char* ch[], int n);int main(void){ double num1[4]={1.2,2.4,3.6,4.8}; in

2021-11-14 21:59:53 122

原创 算法与数据结构实验题 6.25 地鼠安家 1

★实验任务fd 是一个公认的美丽校园。一天,fd 来了一群地鼠,编号为 1 到 n,他们希望 在这里定居。现在先由第一只地鼠往下打一个单位的距离,并且在那里安家。对 于每一个已经安家的地鼠,如果他左下或右下没有邻居,那还没安家的地鼠就可 以在他的左下或者右下安家。地鼠们已经建完所有的窝了,他们评价这些窝合格 的标准是它们能不能形成一棵二叉搜索树。现在需要你帮助他们评估一下他们的 窝挖的是否合格。★数据输入第 1 行一个整数 n,表示地鼠总共 n 只。接下来一共 n 行,每一行三个数:l,o,r,其中

2020-11-28 23:26:04 285

原创 3.9 文档(C语言实现)

★实验任务TonyY 是一个word 小白,今天他对 word 中撤销和恢复功能特别感兴趣,玩耍了一个上午(mdzz~),现在他知道了它们的功能和快捷键:撤销:ctrl+z,可以撤销最近 1 次之前的恢复和 input 操作。恢复:ctrl+y,可以恢复最近1 次之前的撤销操作,但是 input 操作之前的撤销操作不能被恢复。当然,TonyY 还要往里写东西,操作格式为 input str(str中不含空格,str长度为m,1=<m<=30)。现在他对 word 玩耍了起来,想知道玩耍

2020-11-26 22:30:45 179

原创 进阶实验1-3.1 两个有序序列的中位数 (25分)

已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A​0​​ ,A​1,⋯,A​N−1​​ 的中位数指A(N−1)/2​​ 的值,即第⌊(N+1)/2⌋个数(A​0​​ 为第1个数)。输入格式:输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一个序列的信息,即N个非降序排列的整数。数字用空格间隔。输出格式:在一行中输出两个输入序列的并集序列的中位数。输入样例1:51 3 5 7 92 3 4 5 6输出样例1:4

2020-11-19 11:06:35 460

原创 有序数组插入元素(二分法查找)

#include<stdio.h>#include<stdlib.h>#include<stdbool.h>#define maxsize 1000typedef struct LNode *List;struct LNode{ int data[maxsize]; int last;}; bool Insert(List L, int m){ int mid, left, right; if(L->last==maxsize) retu

2020-11-19 10:36:52 592

原创 二分查找的递归和非递归算法

#include<stdio.h>// 元素从下标 1 开始储存 // 非递归实现 //int BS(int *a, int m, int left, int right){// int mid ;// while(left<=right){// mid = (left+right)/2;// if(a[mid]>m) right = mid-1;// else if(a[mid]<m) left = mid+1;// else retur

2020-11-19 09:54:26 404

原创 基础实验8-1.1 单身狗 (25分)

“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式:输入第一行给出一个正整数 N(≤50000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤10000),为参加派对的总人数;随后一行给出这 M 位客人的 ID,以空格分隔。题目保证无人重婚或脚踩两条船。输出格式:首先第一行输出落单客人的总人

2020-11-17 22:23:07 688

原创 基础实验7-2.2 插入排序还是堆排序 (25分)

根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。堆排序也是将输入分为有序和无序两部分,迭代地从无序部分找出最大元素放入有序部分。它利用了大根堆的堆顶元素最大这一特征,使得在当前无序区中选取最大元素变得简单。现给定原始序列和由某排序算法产生的中间序列,请你判断该算法究竟是哪种排序算法?输入格式:输入在第一行给出正整数 N (≤100);随后一行给出原始序列的 N 个整数;

2020-11-17 21:16:08 1824

原创 算法与数据结构实验题 4.8 干净的序列

★实验任务有一个长度为 n 的序列,第 i 个的数为 a[i]。我们定义如果它的一个连续的子串为“没有进行过干净的交易”,那么这个子串的最大值与最小值之差在[m,k]中。现在,你的任务是找到一条最长的“没有进行过干净的交易”的子串。★数据输入第一行输入三个正整数 n m k (0<n<=10000),m(0 =< m =< k =< n)。接下去一行有 n 个正整数,第 i 个数表示 a[i]的值。★数据输出输出一个数,表示这个子串的长度。输入示例15 0 0

2020-11-17 08:48:15 261

原创 案例7-1.2 插入排序还是归并排序 (25分)

根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1 个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判断该算法究竟是哪种排序算法?输入格式:输入在第一行给出正整数 N (≤100);随后一行给出原始序列的 N 个整数;最

2020-11-16 21:55:41 1327

原创 ★实验任务 给定一个 1~N 的排列P ,即1到N中的每个数在P中都出现一次。

现在要对排列P进行冒泡排序,代码如下:for (int i = 1; i <= N; ++i)for (int j = N, t; j > i; ‐‐j)if (P[j ‐ 1] > P[j])t = P[j], P[j] = P[j ‐ 1], P[j ‐ 1] = t;在排序过程中,数字的位置可能会发生变化。对于1~N的每个数字,你需要输出过程中达到的最左位置下标和最右位置下标的差的绝对值。80%的数据:N<=1000100%的数据:N<=100000输入示

2020-11-16 20:01:59 1640

原创 7-12 排序 (25分)

给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果。本题旨在测试各种不同的排序算法在各种数据情况下的表现。各组测试数据特点如下:数据1:只有1个元素;数据2:11个不相同的整数,测试基本正确性;数据3:10^3个随机整数;数据4:10^4个随机整数;数据5:10^5个随机整数;数据6:10^5个顺序整数;数据7:10^5个逆序整数;数据8:10^5个基本有序的整数;数据9:10^5个随机正整数,每个数字不超过1000。输入格式:输入第一行给出正整数N(≤10^5 ),随后一

2020-11-15 21:50:20 639

原创 L1-003 个位数统计 (15分)

#include<stdio.h>int main(void){ int i = 0; int a[10] = {0}; char str[1001]; //是一个不超过1000位的数字,所以用字符数组存储 scanf("%s",str); while(str[i]!='\0'){ a[str[i]-'0']++; i++; } for(i = 0;i<10;i++){ if(a[i.

2020-11-13 22:10:28 98

原创 基础实验5-2.1 整型关键字的平方探测法散列 (25分)

本题的任务很简单:将给定的无重复正整数序列插入一个散列表,输出每个输入的数字在表中的位置。所用的散列函数是 H(key)=key%TSize,其中 TSize 是散列表的表长。要求用平方探测法(只增不减,即H(Key)+i​2​​ )解决冲突。注意散列表的表长最好是个素数。如果输入给定的表长不是素数,你必须将表长重新定义为大于给定表长的最小素数。输入格式:首先第一行给出两个正整数 MSize(≤10​4​​ )和 N(≤MSize),分别对应输入的表长和输入数字的个数。随后第二行给出 N 个不

2020-11-09 22:21:56 669

原创 案例5-1.4 字符串关键字的散列映射 (25分)

案例5-1.4 字符串关键字的散列映射 (25分)给定一系列由大写英文字母组成的字符串关键字和素数P,用移位法定义的散列函数H(Key)将关键字Key中的最后3个字符映射为整数,每个字符占5位;再用除留余数法将整数映射到长度为P的散列表中。例如将字符串AZDEG插入长度为1009的散列表中,我们首先将26个大写英文字母顺序映射到整数0~25;再通过移位将其映射为3×32^​2​​ +4×32+6=3206;然后根据表长得到,即是该字符串的散列映射位置。发生冲突时请用平方探测法解决。输入格式:输入第一

2020-11-09 20:53:41 428 1

原创 算法与数据结构实验题 5.18 小孩的游戏

★实验任务一群小孩子在玩游戏,游戏规则是这样子,给了一些卡片,上面有数字,现在要把卡片按照某一种序列排好,让这些数字重新链接组合成一个大数,求最大的数是什么。★数据输入第一行一个整数N接下来N行,每行一个整数ai,为第i张卡片上的数值。(0<=ai<=100)50%数据 1<=N<=50000100%数据1<=N<=100000★数据输出输出重新组合好的大数。输入示例3992399输出示例999923#include<stdio.h&

2020-11-04 22:51:10 1154

原创 队列的链式存储实现

#include<stdio.h>#include<stdlib.h>typedef struct LNode *List; //用链表存储每一个元素struct LNode{ int data; //储存元素 List Next; //指向下一个元素的指针}; typedef struct QNode *Queue;struct QNode{ List rear; //指向队列尾的指针 List front; //指向队列头的指针};

2020-11-01 22:28:20 239

原创 进阶实验4-3.2 Windows消息队列 (25分)

消息队列是Windows系统的基础。对于每个进程,系统维护一个消息队列。如果在进程中有特定事件发生,如点击鼠标、文字改变等,系统将把这个消息加到队列当中。同时,如果队列不是空的,这一进程循环地从队列中按照优先级获取消息。请注意优先级值低意味着优先级高。请编辑程序模拟消息队列,将消息加到队列中以及从队列中获取消息。输入格式:输入首先给出正整数N(≤10​5​​ ),随后N行,每行给出一个指令——GET或PUT,分别表示从队列中取出消息或将消息添加到队列中。如果指令是PUT,后面就有一个消息名称、以及一

2020-10-31 22:00:58 424

原创 案例5-1.3 整型关键字的散列映射 (25分)

给定一系列整型关键字和素数P,用除留余数法定义的散列函数将关键字映射到长度为P的散列表中。用线性探测法解决冲突。输入格式:输入第一行首先给出两个正整数N(≤1000)和P(≥N的最小素数),分别为待插入的关键字总数、以及散列表的长度。第二行给出N个整型关键字。数字间以空格分隔。输出格式:在一行内输出每个整型关键字在散列表中的位置。数字间以空格分隔,但行末尾不得有多余空格。输入样例:4 524 15 61 88输出样例:4 0 1 3#include<stdio.h>#inc

2020-10-30 22:36:47 208

原创 python画瑞士国旗

上图其实主要是想练练循环,毕竟正方形的国旗不多,哈哈哈import turtleturtle.penup()turtle.goto(125,125)turtle.pendown()turtle.pencolor("red")turtle.fillcolor("red")turtle.begin_fill()for i in range(4): turtle.right(90) turtle.fd(250)turtle.end_fill()turtle.goto(26,

2020-10-10 23:45:28 775

原创 python绘制正六边形

图在这代码在这import turtleturtle.penup()turtle.goto(-90,90)turtle.pendown()turtle.pensize(1)turtle.pencolor("red")for i in range(3): turtle.fd(180) turtle.right(120)turtle.right(60)turtle.fd(60)turtle.right(60)turtle.fd(60)turtle.seth(60)f

2020-10-10 23:20:54 6447

原创 python语言绘制正方形螺旋线

先上成品图代码:import turtle as tt.speed(5)t.pencolor("purple")for i in range(128): t.fd(2*i) t.left(90)t.done()

2020-10-10 23:18:37 7978 4

原创 python 绘制太阳花

调用 turtle库函数绘制太阳花,先看成品代码如下import turtleturtle.setup(650, 350, 200, 200)turtle.penup()turtle.fd(-250)turtle.pendown()turtle.pensize(1)turtle.speed(10)turtle.pencolor("red")turtle.fillcolor("yellow")turtle.begin_fill()for i in range(36): tur

2020-10-10 23:12:37 5270

原创 基础实验3-2.5 堆栈模拟队列 (25分)

设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数:int IsFull(Stack S):判断堆栈S是否已满,返回1或0;int IsEmpty (Stack S ):判断堆栈S是否为空,返回1或0;void Push(Stack S, ElementType item ):将元素item压入堆栈S;ElementType Pop(Stack S ):删除并返回S的栈顶元素。实现队列的操作,即入队void AddQ(Elemen

2020-10-06 22:21:53 232

原创 7-1 Maximum Subsequence Sum (25分)

Given a sequence of K integers { N​1, N2, …, NK}. A continuous subsequence is defined to be { Ni, Ni+1, …, Nj} where 1≤i≤j≤K. The Maximum Subsequence is the continuous subsequence which has the largest sum of its elements. For example, given sequence { -2,

2020-09-29 22:50:10 229

原创 基础实验2-2.4 装箱问题 (20分)

假设有N项物品,大小分别为s​1​​ 、s​2​​ 、…、s​i​​ 、…、s​N​​ ,其中s​i​​ 为满足1≤s​i​​ ≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。输入格式:输入第一行给出物品个数N(≤1000);第二行给出N个正整数s​i(1≤si≤100,表示第i项物品的大小)。输出格式:

2020-09-29 22:47:25 490

原创 括号匹配问题(借助栈求解)

给你一个长度为 N 的由’(‘和’)'组成的括号序列,你能找出这个序列中最长合法括号子序列么?合法括号序列是指,在这个序列中,所有的左括号都有唯一的右括号匹配;所有的右括号都有唯一的左括号匹配。例如:((()))()()便是一个长度为 10 的合法括号序列,而(()))( 则不是。★数据输入输入只有一行,是一个长度为 N(1<=N<=10^6)的由’(‘和’)'组成的括号序列。★数据输出输出两行。第 1 行表示最长合法括号序列的长度。第 2 行表示最长合法括号序列的个数。如果没有合法括

2020-09-23 23:07:59 210

原创 二分法插入(有序数组)

将一个数插入有序数组中,保持数组的有序性不变#include<stdio.h>#include<stdlib.h>typedef struct LNode *List;struct LNode{ int data[100]; int Last; }; int BinarySearch(List L, int X){ int Left,Right,Mid; Left = 0; Right = L->Last; while(Left<=Righ

2020-09-23 22:10:09 1182

原创 实验7-2-10 简易连连看 (20分)

本题要求实现一个简易连连看游戏模拟程序。给定一个2N×2N的方阵网格游戏盘面,每个格子中放置一些符号。这些符号一定是成对出现的,同一个符号可能不止一对。程序读入玩家给出的一对位置(x​1​​ ,y​1​​ )、(x​2​​ ,y​2​​ ),判断这两个位置上的符号是否匹配。如果匹配成功,则将两个符号消为“*”并输出消去后的盘面;否则输出“Uh-oh”。若匹配错误达到3次,则输出“Game Over”并结束游戏。或者当全部符号匹配成功,则输出“Congratulations!”,然后结束游戏

2020-09-15 23:10:43 1422

原创 删除链表中不符合条件的元素

在一个顺序存储的线性表中删除大于min但小于max的数#include<stdio.h>#include<stdlib.h>typedef struct LNode *List;struct LNode{ int data; List Next;};List Create( ){ List temp,tail,head; head = tail = NULL; int N,x,i; scanf("%d",&N); for(i=0;i<N;i

2020-09-07 20:58:00 181

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除