自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线性表(链表)——单链表、双链表、循环单链表、循环双链表

单链表的定义及基本操作#include<iostream>using namespace std;typedef struct Node//定义一个结点类的结构体类型{ int data;//数据域 struct Node *next;//指针域}node,* pnode;//node * 和pnode 等价,在使用中node *强调这是一个结点,pnode 强调这是一个链表//基本操作——按序号查找节点值node * GetElem(pnode L,int p

2021-04-26 17:28:44 243

原创 线性表(顺序表)——顺序表的定义、基本操作

一、顺序表的定义:(静态、动态分配内存)#include<iostream>using namespace std;/**静态分配存储空间*///#define MaxSize 10//定义最大存储空间大小////typedef struct//{// int data[MaxSize];// int length;//定义线性表中当前的长度//}SqList;//顺序表类型的定义(相当于一个新的数据类型)////基本操作——初始化线性表//void In

2021-04-24 16:04:06 757

原创 各种排序算法的整合

**相关代码:#include<iostream>using namespace std;//内部排序 插、交、选、归、基/**一、插入排序1)直接插入排序,找到插入位置,插入位置的元素往后移动2)折半插入排序,是对寻找插入位置的时间复杂度进行的优化,用到分治的思想相应的每一趟中比较的次数会减少,每趟比较的次数为O(log2n);3)希尔排序(缩小增量排序),先追求表中的元素部分有序,在逐渐逼近全局有序*//**1、直接插入排序*/void InsertSort(i

2021-04-23 23:47:13 157

原创 C语言和C++中的引用调用

#include<iostream>using namespace std;void test1(int x){ x=1024; cout<<"函数1内部x的值为:"<<x<<endl;}//引用调用,将参数的修改结果带到“主函数”当中//c++的引用直接用&void test2(int &x){ x=1024; cout<<"函数2内部x的值为:"<<x<<e

2021-04-23 23:42:23 837 1

原创 数据结构(排序)——归并排序

一、算法效率分析:1)空间效率:O(n);2)时间效率:O(nlog2n);3)稳定性:稳定二、具体代码实现#include<iostream>using namespace std;//定义一个全局变量n表示数组长度int n;//创建一个动态数组b,用于辅助存储数据//C语言的创建:int *b=(int *)malloc((n+1)*sizeof(int));int *b=new int[n];/**2路归并,合并为一个有序数组得到排序结果*/void Mer

2021-04-20 17:59:49 112

原创 数据结构(排序)——选择排序

选择排序可分为简单选择排序和堆排序(堆排序是考研中的重点)一、算法效率的分析:1)简单选择排序:时间复杂度:O(n^2);空间复杂度:O(1);算法稳定性:不稳定。2)堆排序:时间复杂度:O(nlog2n);空间复杂度:O(1);算法稳定性:不稳定。二、算法具体的实现:1)简单选择排序:#include<iostream>using namespace std;void SelectSort(int a[],int n){ //要进行n-1趟排序 f

2021-04-19 16:20:25 195 2

原创 数据结构(排序)——交换排序

交换排序主要有:冒泡排序和快速排序算法的效率:1)冒泡排序:最好时间复杂度:O(n);最坏时间复杂度:O(n^2);平均时间复杂度:O(n^2);算法的稳定性:稳定;空间复杂度:O(1).2)快速排序:最好时间复杂度:O(nlog2n);最坏时间复杂度:O(n^2);平均时间复杂度:O(nlog2n);算法的稳定性:不稳定最好空间复杂度:O(log2n);最坏空间复杂度:O(n);平均时间复杂度:O(log2n);具体算法代码实现:1)冒泡排序:#include<i

2021-04-18 21:57:09 501

原创 数据结构(排序)——插入排序

直接插入排序和折半插入排序:最好时间复杂度:O(n);最坏时间复杂度:O(n^2);平均时间复杂度:O(n^2);算法稳定性:稳定。希尔排序:时间复杂度:O(n^2);算法稳定性:不稳定。几种插入排序的具体代码:一、直接插入排序#include<iostream>using namespace std;/**以下所有的排序都是关键字递增来排序的*/void InsertSort1(int a[],int n);//直接插入排序void PrintList(int

2021-04-18 14:19:02 192

原创 NC13134 牛牛的数列

题目描述牛牛现在有一个n个数组成的数列,牛牛现在想取一个连续的子序列,并且这个子序列还必须得满足:最多只改变一个数,就可以使得这个连续的子序列是一个严格上升的子序列,牛牛想知道这个连续子序列最长的长度是多少。输入描述:输入包括两行,第一行包括一个整数n(1 ≤ n ≤ 10^5),即数列的长度;第二行n个整数a_i, 表示数列中的每个数(1 ≤ a_i ≤ 10^9),以空格分割。输出描述:输出一个整数,表示最长的长度。示例1输入67 2 3 1 5 6输出5用两个数组left和

2021-01-16 15:21:12 390

原创 2654: acm可好玩了

题目描述那么问题来了,你能把International Collegiate Programming Contest这四个单词分别逆序并输出么?当然,这个很简单,我相信你手动就可以处理好了。好,真正的问题来了,你可以将若干个单词组成的词组分别逆序并输出么?输入一个字符串,可能含有n个单词,每个单词之间用空格隔开,最后一个单词后面没有空格。0<n<50,保证每个单词长度不超过100输出输出处理过的字符串,注意,不要添加多余的空格样例输入 CopyInternational Coll

2020-11-15 15:02:57 227

原创 2652: 今夕何夕

题目通道题目描述人生不相见,动如参与商。今夕复何夕,共此灯烛光。 --杜甫《赠卫八处士》临近毕业,马上要与室友分别,小H情不自禁背起诗来。突然,小H灵光一闪:不如每年大伙都聚一次。可是小H又犯了难,他知道大家毕业后肯定很忙,难找到共同的空闲时间。于是他让室友列出了各自的空闲时间。因为毕业后他们只有假期才可能有空闲,所以所有空闲时间就是空闲节日。你可以从这些假期中找到他们共同的空闲时间么?如果存在共同的空闲时间,请输出这个节日的名字;否则,请输出"What a shame!"。因为小H和室友未来都很忙

2020-11-15 15:00:53 151

原创 1297: 小数化分数

题目描述Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?请你写一个程序不但可以将普通小数化成最简分数,也可以把循环小数化成最简分数。输入第一行是一个整数N,表示有多少组数据。每组数据只有一个纯小数,也就是整数部分为0。小数的位数不超过9位,循环部分用()括起来。输出对每一个对应的小数化成最简分数后输出,占一行。样例输入 Copy30.(4)0.50.32(692307)样例输出 Copy

2020-11-12 20:43:04 244

原创 1288: 今年暑假不AC

题目描述“今年暑假不AC?”“是的。”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%…”确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了。作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫的《开心辞典》等等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?(目标是能看尽量多的完整节目)输入输入数据包含多

2020-11-12 20:42:01 141

原创 1235: 会场安排问题

题目描述学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想尽可能的安排更多的活动,请问他该如何安排。输入第一行是一个整型数m(m<100)表示共有m组测试数据。每组测试数据的第一行是一个整数n(1<n<10000)表示该测试数据共有n个活动,随后的n行,每行有两个正整数Bi,Ei(0<=Bi,Ei<10000),分别表示第i个活

2020-11-12 20:36:53 667

原创 题目 2024: 链表删除练习

题目描述试图编写一个链表,实现插入后,试着编写一下删除操作。(这种使用数组的方式可能会浪费内存,但是请暂时忽略这点)作为练习的判断,请输出删除链表内所有元素x后的序列。数组保证删除后仍不为空。输入第一行包括一个数字n(n<100000),表示链表内元素的个数。接下来一行,共n个整数,表示链表内的数据接下来一个数字x,表示要删除的元素。输出一行,表示删除后的序列。样例输入82 3 4 4 4 5 3 84样例输出2 3 5 3 8#include<iostream&g

2020-10-15 10:51:16 222

原创 题目 1771: [编程入门]链表之节点删除

题目描述有两个链表a和b,设节点中包含学号、成绩。从a链表中删去b链表中有相同学号的那些节点。输入第一行有两个用空格隔开的整数n和m,分别表示a和b两个链表中的节点个数。保证n和m均不超过100。之后的n行每行有两个用空格隔开的整数,分别表示一个学生的学号和成绩。最后的m行每行有两个用空格隔开的整数,分别表示一个学生的学号和成绩。a和b两个链表中的节点并不一定按照学号顺序排列。保证a链表中学号各不相同,b链表中学号各不相同。输出首先输出a链表最终剩下的节点个数k。在接下来的k行,每行输出两

2020-10-15 10:35:40 132

原创 题目 1770: [编程入门]链表之报数问题

题目描述有n个人围成一圈,顺序从1开始排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。要求用循环链表实现。输入只有一个正整数n,保证n不超过1000。输出输出最后留下的人的原始编号。请注意行尾输出换行。样例输入10样例输出4#include<iostream>#include<malloc.h>using namespace std;typedef struct Node{ int data;

2020-10-14 17:28:03 559 1

原创 链表的创建

#include<iostream>#include<malloc.h>using namespace std;typedef struct Node{ int data; struct Node *next;}node,*pnode;pnode creat_list(void);void traverse_list(pnode phead);//函数声明int main(){ pnode phead=NULL; phead =c.

2020-10-14 17:14:32 125

原创 快速排序(c++)

快速排序:分治策略与递归。自我感悟(如有纰漏请多包涵):把数组中的第一个数作为基准数temp(我们的目标是让temp左边的数都比他小,temp右边的数都比他大),然后先从右边j开始往前找出一个比这个temp小的,再从左边i开始找出一个比temp大的,交换两者位置,继续查找,直到i=j;替换基准数 和此时a[i]或者a[j]的值。这样第一次设置的基准数两边分别就是比他大、比他小的数。再利用分治的方法,将temp左右两边的数通过调用本函数来排序,直到全部排完即可。#include<iostream&

2020-09-02 12:46:17 111

原创 ZZULIOJ 1177: 按要求排序(指针专题)

题目描述输入n和n个整数,然后按要求排序,若输入1,请输出升序排序序列;若输入2,请输出降序排序序列,若输入3,请输出按绝对值升序排序序列。要求程序结构如下,请完善程序。void sort(int a[], int n, int (*cmp)());int CmpAsc(int x, int y); /按升序要求判断两元素是否逆序/int CmpDec(int x, int y); /按降序要求判断两元素是否逆序/int CmpAbsAsc(int x, int y); /按绝对值升序要求判断两

2020-08-20 21:52:30 1549

原创 ZZULIOJ 1197: 考试排名(一)(结构体专题)

题目描述今天浙大研究生复试的上机考试跟传统笔试的打分规则相似,总共有n道题,每道题有对应分值,最后计算总成绩。现给定录取分数线,请你写程序找出最后通过分数线的考生,并将他们的成绩按降序打印。输入第1行给出考生人数N ( 1<= N<=100 )、考题数M (1<=M<=10 )、分数线(正整数)G;第2行排序给出第1题至第M题的正整数分值;以下N行,每行给出一名考生的准考证号(长度不超过20的字符串)、该生解决的题目总数m、以及这m道题的题号(题目号由1到M)。输出首

2020-08-17 22:22:14 495

原创 ZZULIOJ 1196: 数星星(二)(结构体专题)

题目描述一天,小明坐在院子里数星星,Gardon就出了个难题给他,让他数数天上的星星最多有多少个是在同一条直线上的。天上的星星太多了,小明马上就看花了眼,你能写个程序来帮他计算么?输入首先输入一个整数N(N<=300),接下来的N对数每对表示一个星星的位置(星星的坐标在-10000到10000之间,精确到小数点后1位)。没有两个星星会在同一个位置。输出一个整数,表示一条直线上最多星星的数目。样例输入 Copy50 01 01 10 10.5 0.5样例输出 Copy3#i

2020-08-17 18:05:52 1458 2

原创 ZZULIOJ 1190: 按出生日期排序(结构体专题)

题目描述送人玫瑰手有余香,小明希望自己能带给他人快乐,于是小明在每个好友生日的时候发去一份生日祝福。小明希望将自己的通讯录按好友的生日排序,这样就查看起来方便多了,也避免错过好友的生日。为了小明的美好愿望,你帮帮他吧。小明的好友信息包含姓名、出生日期。其中出生日期又包含年、月、日三部分信息。输入n个好友的信息,按生日的月份和日期升序输出所有好友信息。输入首先输入一个整数n(1<=n<=10),表示好友人数,然后输入n行,每行包含一个好友的信息:姓名(不超过20位),以及三个整数,分别表示出

2020-08-17 12:46:26 376

原创 ZZULIOJ 1189: 选票统计(二)(结构体专题)

题目描述计算机与通信工程学院2012届学生会主席投票选举工作定于1月6日在电教楼前隆重举行。本次投票将采用电脑统计选票的方式,当投票选举正式开始后,同学们将排队一一走到电脑前,投上自己神圣的一票:在电脑前输入一个姓名,然后输入回车表示确认。当所同学投票结束,工作人员只需要输入一个”#”并回车确认,表示投票结束,电脑立即显示出得票最高的同学姓名,该同学将当选为新一届计算机与通信工程学院学生会主席。选举大会的准备工作正在紧张进行,编程统计投票的工作就交给你了。输入本题为单实例测试。输入包含多行,每行是

2020-08-17 11:22:27 197

原创 1296: a/b + c/d

题目描述给你2个分数,求他们的和,并要求和为最简形式。输入输入首先包含一个正整数T(T<=1000),表示有T组测试数据,然后是T行数据,每行包含四个正整数a,b,c,d输出对于每组测试数据,输出两个整数e和f,表示a/b + c/d的最简化结果是e/f,每组输出占一行。样例输入 Copy21 2 1 34 3 2 3样例输出 Copy5 62 1#include&...

2019-11-21 13:16:06 373 1

原创 1226: 等值数目

题目描述已知两个整数数组f[]和g[],它们的元素都已经从小到大排列。例如f[]中可能有1,2,2,3,3,g[]中有1,2,2,2,3。请写一个程序,算出这两个数组彼此之间有多少组相同的数据。就以上例而言:f[0]于g[0]是第一组;f[1]于g[1]是第二组;f[2]于g[2]是第三组;f[3]于g[4]是第四组。输入第一行为两个整数m, n(1≤m, n≤1000),分别代表...

2019-11-20 21:53:26 327

原创 2410: 完全整数(好假)

题目描述首先来定义一个规则:设一个整数a,它的长度(即数字个数)为n,如果组成a的数字恰好均为[1,n]之间的数字且每个数字都只出现一次,那么称a为完全整数。例如3412就是一个完全整数,而1245则不是。现在给你一个整数,请你来判断一下这个整数是不是完全整数。输入第一行一个整数t(0<t<=2000),代表测试数据的组数。接下来是t组测试数组,每组测试数据一个整数a,判断整数...

2019-11-19 10:06:04 271

原创 2413: 小P母校名字的缩写

题目描述小P对自己的母校很有感情,他看到一个字符串的时候,总是看一看字符串中的字母能不能组成他母校名字的英文缩写,现给定一个仅由英文字母构成的字符串。请你帮小P找一找能组成几个学校名字的英文缩写。字母不区分大小写。输入第一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。第二行为小P学校名字的英文缩写,名字缩写长度不超过10。输出输出一个整数,表示字符串中包含学校名字缩...

2019-11-18 23:12:10 155

原创 1666: 字符统计(水题文艺多)

题目描述输入一篇文章,请你统计一下其中的小写字母分别有多少个输入输入有多行,以文件结束标识结束输出输出每个小写字母的个数,具体格式参见样例。样例输入 CopySCARLETT O’HARA was not beautiful, but men seldom realized it when caught by her charm as the Tarleton twins were....

2019-10-26 19:50:11 149

原创 1250: 有多高(注意数组越界问题,老是被坑-.-)

题目描述Little Jing 有很多标杆,已知每个标杆的长度(不超过10000),现在她要把标杆插在地上,相同长度的标杆要接在一起(一个接在另外一个的上面)。Little Jing想知道最后地上插了多少根杆,你能帮帮她吗?输入首先输入一个整数N,表示有N组测试实例。每组实例输入两行,第一行一个正整数n(n<=1000),表示标杆的数量。第二行是n个正整数表示n个标杆的长度。输出...

2019-10-15 16:07:28 186

原创 1239: K-String(傻子爱暴力)

题目描述如果一个字符串能由k个相同的字符串相连接组成,那这个字符串就叫做K-String.例如:字符串aabaabaabaab即是1-String,又是2-String,也是4-String。很显然,对于任何一个字符串来说,它都是1-String.现在给一个字符串S(仅包含小写英文字母)和一个整数K,你的任务是重新排列S,使它变成一个K-String.输入输入包含N组测试实例,每组实例占...

2019-10-14 21:23:50 159

原创 1236: 数的逆转

题目描述Birdfly是一位优秀的acmer,他自幼都数学有着浓烈的兴趣。作为一名集训队员,总爱思考一些新奇的问题,寻求不同的解题方法。Birdfly一直坚信freshmen的潜力是无穷的!因为你们是ZZULI ACM的未来!ACM的题目并不是那么简单,但这一题so easy!_一天晚上,birdfly躺在床上毫无睡意……他想,任意给你一个整数,这个数可能很大(最长不超过100位),你能求出...

2019-10-14 17:29:29 159

原创 1223: crazy_snail(保留n位小数不按照四舍五入)

题目描述一天crazy_snail正在读英文书,突发奇想,他想看一下自己的名字“snail”中每个字母在文章中出现的次数的总和占文章总长度的百分比(即’s’,’n’,’a’,’i’,’l’,在给定的字符串中出现的个数总和占总长度的百分比,小数部分直接舍去)。你能帮助他么?输入第一行输入一个n 表示有n组测试实例。n为整数。其下有n行,每行一组测试实例;每组测试实例包括一个长度不超过200...

2019-10-14 10:48:52 209

原创 1329: 汽水瓶(这就是递归)

题目描述有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?输入输...

2019-10-09 23:56:11 135

原创 1340:分数加减法

题目描述编写一个程序,实现两个分数的加减法输入输入包含多行数据每行数据是一个字符串,格式是"a/boc/d"。其中a, b, c, d是一个0-9的整数。o是运算符"+“或者”-",(b!=0,d!=0)。输出对于输入数据的每一行输出两个分数的运算结果。注意结果应符合书写习惯,没有多余的符号、分子、分母,并且化简至最简分数样例输入 Copy1/8+3/81/4-1/21/3...

2019-10-09 21:45:29 561

原创 2355: 小明问问题

题目描述小明同学刚来公司实习没多久,什么都不懂,每天都有一大堆的问题要问他的leader yk,但是yk每天很忙,所以如果同个问题问yk两次以上,yk就会很生气。小明脑袋比较笨,总是忘记自己之前问过什么问题了。大家可以在他每次问问题前告诉他当前的问题之前有没有问过吗?输入第一行输入一个整数 N (0 < N < 100),代表小明要问的问题的数量。接下来输入N行,每行是只有小写字...

2019-06-03 15:16:33 151

原创 2354: 小爱的爱情难题

题目描述古希腊哲学大师苏格拉底的三个弟子曾求教老师,怎样才能找到理想的伴侣。苏格拉底没有正面回答,却让他们走田埂,只许前进,且只给一个机会,要求是选摘一个最好最大的穗。第一个弟子没走几步,就看见一个又大又漂亮的穗,高兴地摘下来了。但他继续前进时,发现前面有许多比他的那个大,但已经没有机会,只得遗憾地走完全程。第二个弟子吸取了教训,每当他要摘时,总要提醒自己,后边还有更好的。可当他快到终点时,才发...

2019-06-03 14:49:59 980

原创 2334: 小新同学爱社团

题目描述小新同学在高中就是多才多艺,一进入大学很多社团都向小新伸出了橄榄枝。每个社团都会定期集中活动,有些社团在活动的时间上会冲突,每个社团活动为1个时间单位,请你帮小新算一下在哪个时间点社团活动有冲突以及有几个社团在这个时间点上有冲突。输入输入一个正整数n,表示社团的数量(0<n<=10000),接着输入n个整数Ti(0<=Ti<=100),表示这n个社团活动的时间...

2019-06-01 10:50:10 615

原创 2329: 小新同学爱加密

题目描述小新同学的数学成绩比较好,很多信息内容都爱转换成数字保存起来,今天他要对一串由英文大小写字母组成的字符串进行加密,加密方法是:对于大写字母,如果ASCII编码是偶数对应的密文为编码值除以2,如果是奇数密文为字符的 ASCII编码值,如果是小写字母对应的密文为ASCII编码值乘以2。现在给出加密后的字符串,请恢复原字符串内容。 数据范围:原文字符串长度不超过10000。输入输入一行由数...

2019-05-31 14:48:42 874 4

原创 1845: course

题目描述LOL同学作为计算机学院的15级新生,在入学时面对纷繁复杂的计算机相关课程发了愁,不知道该先学哪一门,现在知道所有需要学习的课程有:c,java,php,html,phython,javascript,mysql。他决定选择两个幸运字母(两个幸运字母可能相同),如果这两个字母在某个课程名中都有出现过,那么他就选择先学这门课程。输入输入一个n,表示测试数据的个数对于每组测试数据,输入...

2019-05-10 00:18:10 145

空空如也

空空如也

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

TA关注的人

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