
C++
芽孢子w
yabaozi >>= ((time + idea + work_hard )=> 22)?.Tolive();
展开
-
图(公园导游系统的无向图,使用邻接矩阵存储)
为某公园设计一个简单的导游系统,设计数据结构和算法实现相应功能。要求:(1)所含景点不少于8个。以图中顶点表示公园内各景点,包含景点名称、景点介绍等信息;以边表示路径,边上权值表示景点间的距离;(2)选用适当的存储结构;(3)为游客提供任意景点相关信息的查询;(4)为游客提供任意两个景点之间的一条最短路径;我设计的图:图的邻接矩阵:#include<bits/stdc++.h>using namespace std;int Map[100][100];//图的邻接矩阵/原创 2021-12-24 16:31:18 · 2131 阅读 · 0 评论 -
哈夫曼树(按照例题理解)
一个单位有12个部门,每个部门都有一部电话,但是整个单位只有一根外线,当有电话打过来的时候,由转接员转到内线电话,已知各部门使用外线电话的频率为(次/天):5 20 10 12 8 43 5 6 9 15 19 32。利用哈夫曼树算法思想设计内线电话号码,使得接线员拨号次数尽可能少。要求:(1)依据使用外线电话的频率构造二叉树;(2)输出设计出的各部门内线电话号码。#pragma warning(disable : 4996) //由于字符串拷贝函数strcpy已经被c++标准库弃用,所以必须在.原创 2021-12-23 21:45:59 · 3515 阅读 · 0 评论 -
折半查找(二分)(C++递归版本)
折半查找:二分思想将区间的中间数据与目标进行比较,要求查找的序列是有序的如果目标大于中值就舍弃较小的一半序列如果目标小于中值就舍弃较大的一半序列#include<bits/stdc++.h>using namespace std;//返回索引int binary_search(int arr[],int l,int r,int value) { int mid = (l + r) / 2; if (arr[mid] == value)return mid; //注意定界原创 2021-12-23 16:45:18 · 1115 阅读 · 0 评论 -
快速排序,简单选择排序,归并排序
快速排序的基本思想是:1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。代码#include<bits/stdc++.h>using namespace std;//对于数组的传参,可以按照int arr[],也可以int *arr,这两种方法都是传入的地址,//因此在函数中对数组的操作,会改变原有数组的值,void quick_sort(int arr[],int原创 2021-12-23 15:35:24 · 922 阅读 · 0 评论 -
简单计算器-中缀表达式转后缀表达式
只允许一位数的运算,确实是“简单”计算器文章目录一、算法思想二、代码总结# 题目描述:实现一个简单的计算器,输入一个包含圆括号、加减乘除、求余等符号组成的算术表达式字符串,输出该算术表达式的值。要求:(1)系统至少能实现加、减、乘、除、求余等运算;(2)利用栈实现并将表达式结果输出。一、算法思想模仿计算器的思想,对输入的中缀表达式转化为后缀表达式在计算。在转化的时候使用一个栈用于存储操作符。在使用后缀表达式计算的时候使用一个栈用来存储数字二、代码#include<bits/s原创 2021-12-22 14:43:16 · 1429 阅读 · 0 评论 -
串的匹配-----BF算法和KMP算法
出于对期末的数据结构复习,我写下我自己的一些见解和认识。首先出于对我自己的要求,我对自己的代码力求简洁明了,并且会在难懂的地方注释。文章目录一BF算法二.KMP算法串匹配:BF匹配过程及实现、KMP中模式串next值的计算及匹配过程、改进的KMP中模式串nextval提示:以下是本篇文章正文内容,下面案例可供参考一BF算法代码如下(示例)://暴力匹配算法//需要传入主串,匹配位置,模式串(要匹配的串)bool BF(string S,int pos,string T) { //原创 2021-12-21 19:33:41 · 366 阅读 · 0 评论 -
使用队列打印杨辉三角(c++)
@使用队列打印杨辉三角(c++)需要注意的我每行前面并没有打印空格,如果你有需要可以自行修改。#include<bits/stdc++.h>using namespace std;void fun(int n) { queue<int>q; int temp = 0;//记录队列上一个的数据 if (n >= 1) { q.push(1); } for (int i = 0; i < n;i++) { for (int i = 0; i <原创 2021-10-20 19:12:47 · 2505 阅读 · 7 评论 -
快捷店会员系统实训(c++实训)
实训的主要内容: 任务书系统主要有三个类的内容,但是被整合到一个是没有问题的(使用了easyx图形库)main类main.cpp文件.会员类membermember.hpp文件.管理员类admin.hpp文件.原创 2021-06-29 17:46:08 · 497 阅读 · 1 评论 -
admin.cpp
#include<memberCar.hpp>using namespace std;struct s_memberCar { string account=""; double number=0.0;//消费金额 s_memberCar* next=NULL;};//链表排序的方法void insert_sort(s_memberCar* &head,s_memberCar *s) { if (head==NULL) { head = s; return;原创 2021-06-24 09:14:08 · 192 阅读 · 0 评论 -
member.hpp文件
#include<bits/stdc++.h>#include<graphics.h>#include<easyx.h>using namespace std;class RMB {public: double money; RMB operator+(RMB rmb) { this->money += rmb.money; return *this; } RMB operator-(RMB rmb) { this->原创 2021-06-24 09:12:33 · 241 阅读 · 1 评论 -
main.cpp文件内容
#define _CRT_SECURE_NO_WARNINGS #include<fstream>#include<iostream>#include<time.h>#include<admin.hpp>using namespace std;//2021/6/18 计划·实现管理员的各种功能,实现完这个后也就实训工作就完成了。//2.做出了用户界面的功能的实现 具体有查看个人信息,修改密码// 做出了管理员的界面 具体有 查看全部用户用户原创 2021-06-24 09:07:57 · 522 阅读 · 0 评论 -
L2-015 互评成绩 (25 分)
原题连接直接上代码:#include<bits/stdc++.h>using namespace std;double arr[10100][11];double a[10100];int main(){ int n,k,m; cin>>n>>k>>m; for(int i=0;i<n;i++){ double sum=0; for(int j=0;j<k;j++){ cin>>arr[i][j];原创 2021-04-24 11:02:53 · 114 阅读 · 0 评论 -
L2-033 简单计算器 (25 分)
原题连接直接上代码#include<bits/stdc++.h>using namespace std;int main() { int cycle; cin >> cycle; stack<int>s1; for (int i = 0; i < cycle;i++) { int temp; cin >> temp; s1.push(temp); } stack<int>s2; for (int i = 1; i原创 2021-04-22 21:09:17 · 150 阅读 · 0 评论 -
试题 基础练习 十六进制转八进制
问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。【注意】 输入的十六进制数不会有前导0,比如012A。 输出的八进制数也不能有前导0。样例输入 2 39 123ABC样例输出 71 4435274【原创 2021-04-16 15:00:57 · 242 阅读 · 0 评论 -
L1-027 出租 (20 分)
原题链接: 点击#include<bits/stdc++.h>using namespace std;int arr[20],len=0;bool cmd(int a,int b){ return a>b;}int main(){ string s; cin>>s; set<int>se; for(int i=0;i<s.size();i++){ if(se.count(s[i]-'0')==0){ arr[len++]=s[i原创 2021-04-10 21:11:43 · 125 阅读 · 0 评论 -
使用位移运算来实现对十进制在底层二进制数中的1的个数或位置
#include<bits/stdc++.h>using namespace std;template<class T>void out(T arr) { cout << arr << endl;}bool greater4(int arr) { if (arr>2) return 1; return 0;}int main() { vector<int>arr; for (int i = 0; i < 1原创 2021-04-09 16:50:34 · 250 阅读 · 1 评论 -
01迷宫题解
01迷宫题解这个是第一种写法但是有优化的空间但是这个方法可能会比较好理解第二种方法这个方法在bfs的迷宫问题经常使用可以减少码量,使代码更易于维护,和检查。原题链接题目描述:有一个仅由数字0与1组成的n×n格迷宫。若你位于一格0上,那么你可以移动到相邻4格中的某一格1上,同样若你位于一格1上,那么你可以移动到相邻4格中的某一格0上。你的任务是:对于给定的迷宫,询问从某一格开始能移动到多少个格子(包含自身)。输入:第 1 行为两个正整数n, m。下面n行,每行n个字符,字符只可能是0或者1,字符原创 2021-04-08 00:43:35 · 685 阅读 · 1 评论 -
C++实现贪吃蛇源码(EasyX图形库)
如果你不知道怎么安装EasyX图形库链接: 点击这里.这个作者的安装教程很好,当时本人也是看这个一步一步做的另外如果你想要一个写的思路,可以直接看我的源码,一步一步的推敲,也可以直接看这个作者的文章点击查看.这个贪吃蛇源码实现了以下的功能:**(1)需要能在界面指定位置(x,y)直接输出对应内容(2)需要动态数组储存蛇的身体节点(3)需要能接收键盘指令对贪吃蛇运动方向进行调整(4)需要随机生成食物(5)判断蛇是否撞到墙或者自己的身体(6)在你的计算机的C盘生成一个C:/snakeTem原创 2021-04-04 19:55:41 · 8396 阅读 · 22 评论 -
L1-034 点赞 (20 分)
题目描述 微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。输入格式: 输入在第一行给出一个正整数N(≤1000),是该用户点赞的博文数量。随后N行,每行给出一篇被其点赞的博文的特性描述,格式为“K F1 ⋯FK ”,其中1≤K≤10,Fi (i=1,⋯,K)是特性标签的编号,我们将所有特性标签从1到1000编号。数字间原创 2021-04-03 15:50:43 · 711 阅读 · 0 评论 -
L1-070 吃火锅 (15 分)
L1-070 吃火锅 (15 分)题目连接.这题写的时候会以为一行有多个给string s1="chi1 huo3 guo1";但是在实际操作过程中是不存在这样的,也就是说一行只有一个符合题意的s1;#include<bits/stdc++.h>using namespace std;int main(){ string s,s1="chi1 huo3 guo1"; int find1=0,counter=0,counter1=1,flag=1; while(getline原创 2021-04-03 15:37:37 · 992 阅读 · 0 评论