自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Shudderwock 的博客

这个博主是条懒狗,什么都没有留下

  • 博客(25)
  • 收藏
  • 关注

原创 Windows设置自动更新选项、禁用自动更新、只禁用功能更新

Windows设置自动更新选项、禁用自动更新、只禁用功能更新

2024-04-09 18:13:34 1089

原创 迷宫问题设计实验报告

课程设计题目:迷宫问题设计实验一、问题描述有一个 n * m 的迷宫,给定入口和出口,求路径。二、概要设计1. 算法的设计采用BFS(Breadth-first search,广度优先搜索)。伪代码如下1. 队列初始化2. 入口点坐标进队并标记来过3. 当队列不为空时循环执行下述操作: 3.1 (x, y) <-- 队头元素出队 3.2 沿顺时针试探每一个方向,记为(to_x, to_y),如果可走且没来过: 3.2.1 标记(to_x, to_y)来

2021-04-19 13:04:42 3076

原创 火车车厢重排

其实火车车厢重排那道题的算法没那么复杂,只需要所有轨道出车到不能出为止遍历缓冲轨,找到能放下入口轨道的首辆车的就塞入缓冲轨。然后不断循环这两步即可。这是因为,缓冲轨的队尾一定是降序排列的。#include <algorithm>#include <cstdio>#include <iostream>using namespace std;template <typename T>struct Node{ T data;

2021-04-19 13:01:11 344

原创 队列,链表实现,不带头节点

// Linked Queue, without head node#include <iostream>using namespace std;template <typename T>struct Node{ T data; Node<T> *next;};template <typename T>class LinkedQueue{public: LinkedQueue() {} ~LinkedQ

2021-04-19 12:58:39 122

原创 循环队列,不浪费一个数组空间

// Circular Queue, without wasting an array of space#include <iostream>using namespace std;template <typename T>class Queue{private: int _rear, _front; int _max_size; int *arr;public: Queue(int s) { _front

2021-04-19 12:57:33 642

原创 循环队列,浪费一个数组空间

// Circular Queue, with wasting an array of space#include <iostream>using namespace std;template <typename T>class Queue{private: int _rear, _front; int _max_size; int *arr;public: Queue(int s) { _front = 0

2021-04-19 12:56:36 355

原创 队列,链表实现,带头节点

// Linked Queue, with head node#include <iostream>using namespace std;template <typename T>struct Node{ T data; Node<T> *next;};template <typename T>class LinkedQueue{private: Node<T> *_first, *_last;

2021-04-19 12:55:02 65

原创 表达式求值设计实验报告

课程设计题目:表达式求值一、问题描述与基本要求利用栈,实现以下功能:中缀表达式求值;中缀表达式转后缀表达式;后缀表达式求值。假设用户输入的表达式均合法,且运算符只含+(加号)、-(减号)、*、/、%、(和),允许浮点数(浮点数计算取模规定为向零取整后得到整数再计算取模)。二、概要设计1. 数据结构的设计我们利用栈来实现上述3个功能。具体原因见后文算法的设计。2. 算法的设计2.1 表达式读入与预处理用户从键盘输入一个语法正确的中缀/后缀表达式,但格式可能并不标准,例如有多余的空格

2021-04-09 15:38:14 4079

原创 进制转换

用短除法,然后把余数倒过来就能得到答案了。下面是十进制233转二进制和八进制的演示:余数需要逆序输出,所以可以在短除法时将余数压入栈,整个短除法结束后再全部出栈输出。程序只写了十进制转二至九进制#include <iostream>using namespace std;template <typename T>struct Node { T data; Node *next;};template <typename T>cla

2021-04-07 22:05:42 218

原创 栈(链表实现)

// SeqStack_main.cpp#include <iostream>using namespace std;#include "SeqStack.cpp"int main(){ SeqStack<int> S; if (S.Empty()) cout << "栈为空\n"; else cout << "栈非空\n"; cout << "对15和10执行入栈操作\

2021-04-07 21:51:46 55

原创 多项式加法

#include <algorithm>#include <cmath>#include <iostream>#define eps (1e-8)using namespace std;struct Elem{ double coef; int exp; bool operator<(const Elem &b) { return exp < b.exp; }};struct Node{ Elem

2021-04-07 21:49:41 66

原创 双向循环链表

// main.cpp#include "DoublyCircularLinkedList.cpp"#include <iostream>using namespace std;int main(){ int r[5] = {1, 2, 3, 4, 5}; DoublyCircularLinkedList<int> L(r, 5); // DoublyCircularLinkedList<int> L(r, 0); cout

2021-04-07 21:48:58 57

原创 双向链表

// main.cpp#include "DoublyLinkedList.cpp"#include <iostream>using namespace std;int main(){ int r[5] = {1, 2, 3, 4, 5}; DoublyLinkedList<int> L(r, 5); cout << "链表长度:" << L.Length() << endl; cout <&

2021-04-07 21:46:36 59

原创 循环链表

// main.cpp#include "CircularLinkedList.cpp"#include <iostream>using namespace std;int main(){ int r[5] = {1, 2, 3, 4, 5}; CircularLinkedList<int> L(r, 5); cout << "链表长度:" << L.Length() << endl; cout &

2021-04-07 21:44:08 58

原创 什么时候用“节点”,什么时候用“结点”?

CS(计算机科学与技术)数据结构中“节点”网络与数据通信“结点”数学中只有“结点”当然,大部分时候就算误用,大家也清楚是指什么意思。相关术语可以上术语在线——权威的术语知识服务平台查询。这网站是全国科学技术名词审定委员会的,靠谱。...

2021-03-25 20:00:39 1017

原创 BigInteger 类(高精度亿进制)模板 - 也许是全网最好的 BigInteger 高精度模板

高精度亿进制模板,支持负数,支持通过整型和字符串赋值,支持加减乘除取模等算术运算符,支持比较运算符,支持+=,-=,*=,/=,%-,支持用 cin 和 cout 直接输入输出。抄了之后直接当成 int 来用也问题不大。也许是全网最好的 BigInteger 高精度模板。#include <algorithm>#include <cstring>#include <iostream>#include <string>#include <vec

2021-03-22 22:08:17 158

原创 BigInteger (亿进制高精度)类设计实验报告

课程设计题目:BigInteger(亿进制高精度)类设计实验一、问题描述C/C++ 语言中的 int 类型能表示的整数范围是−231-2^{31}−231~231−12^{31}-1231−1,unsigned int 类型能表示的整数范围是 000~232−12^{32}-1232−1,即 000~429496729542949672954294967295,所以,int 和 unsigned int 类型都不能存储超过10位的整数。有些问题需要处理的整数远远不止10位,这种大整数用C/C++语言的基

2021-03-22 15:44:19 242

原创 线性表逆置实验报告

课程设计题目:线性表逆置实验一、问题描述试分别以顺序表和单链表作存储结构,各写一实现线性表就地逆置的算法。二、基本要求逆置线性表。就地(空间复杂度至多O(1)O(1)O(1))。三、概要设计1. 数据结构的设计依题目要求,本实验采用顺序表和单链表。2. 算法的设计对于顺序表的逆置,我们使用两个指针i和j,分别从左到右和从右到左扫描,交换元素,直到相遇。伪代码如下void reverse() { for (int i = 0, j = length - 1, t; i &l

2021-03-22 15:37:45 1433

原创 顺序表类和模板类验证实验报告

实验题目:验证顺序表类和模板类一、实验目的掌握线性表的顺序存储结构;验证顺序表及其基本操作的实现;理解算法与程序的关系,能够将顺序表算法转换为对应的程序。二、实验内容建立含有若干个元素的顺序表;对已建立的顺序表实现插入、删除、查找等基本操作;在《数据机构(C++版)学习辅导与实验指导》P171的基础上,加入求线性表的长度等操作;重新给定测试数据,验证抛出异常机制。三、设计和编码1. 本实验用到的理论知识线性表(顺序存储结构)2. 算法设计大部分接口实现已经给出,详

2021-03-22 15:36:15 490

原创 集合的并与交验证实验报告

实验题目:验证集合的并与交程序一、实验目的验证集合的并与交程序。二、实验内容有两个顺序表LA和LB,把它们当成集合来使用,考虑它们的并运算和交运算。可以把顺序表当作一个抽象数据类型,直接利用它的定义来实现要求的运算。三、设计和编码1. 本实验用到的理论知识线性表(顺序存储结构)2. 算法设计主要展示Union和Intersection两个函数的设计,其余的均是线性表(顺序存储结构)的常见算法。伪代码如下void Union(SeqList<T> &LA, S

2021-03-22 15:33:04 283

原创 谭浩强《C++程序设计(第3版)》第12章习题5程序验证实验报告

实验题目:第12章习题5程序验证一、实验目的上机验证《C++程序设计(第3版)》第12章习题5。复习C++多态性与虚函数相关知识。二、实验内容详见一、实验目的。三、设计和编码1. 本实验用到的理论知识C++多态性与虚函数2. 编码程序清单如下// ex5.cpp// Encoding: UTF-8/* * 5.定义一个抽象类Shape,由它派上生出5个派生类:Circle(圆形)、 * Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Tri

2021-03-15 14:03:33 325

原创 谭浩强《C++程序设计(第3版)》第12章习题4程序验证实验报告

实验题目:第12章习题4程序验证一、实验目的上机验证《C++程序设计(第3版)》第12章习题4。复习C++多态性与虚函数相关知识。二、实验内容详见一、实验目的。三、设计和编码1. 本实验用到的理论知识C++多态性与虚函数2. 编码程序清单如下// ex4.cpp// Encoding: UTF-8/* * 4.定义一个抽象类Shape,由它派上生出3个派生类:Circle(圆形)、 * Rectangle(矩形)、Triangle(三角形), * 用一个函数printA

2021-03-15 14:02:51 282

原创 谭浩强《C++程序设计(第3版)》第11章习题9程序验证实验报告

实验题目:第11章习题9程序验证一、实验目的上机验证《C++程序设计(第3版)》第11章习题9。复习C++继承与派生相关知识。二、实验内容详见一、实验目的。三、设计和编码1. 本实验用到的理论知识C++继承与派生2. 编码程序清单如下// ex3.cpp// Encoding: UTF-8/* * 3.分别声明Teacher(教师)类和Cadre(干部)类, * 采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)类。要求: * (1) 在

2021-03-15 14:01:07 405

原创 数组循环左移算法实验报告

课程设计题目:用 Reverse 实现时间复杂度为 O(n)O(n)O(n) 数组循环左移算法一、问题描述设计一个时间复杂度为 O(n)O(n)O(n) 的算法,实现将数组 A[n] 中所有元素循环左移 kkk 个位置。详见王红梅等编著的《数据结构(C++版)(第2版)》P53页习题5(1)。二、基本要求实现将数组 A[n] 中所有元素循环左移 kkk 个位置。时间复杂度为 O(n)O(n)O(n) 。三、概要设计1. 算法的设计算法思路参考王红梅等编著的《数据结构(C++版)

2021-03-15 13:57:30 628

原创 整型数组按奇偶排序实验报告

目录一级目录二级目录三级目录# 整型数组按奇偶排序实验报告课程设计题目:整型数组按奇偶排序一、问题描述二、基本要求三、概要设计1. 算法的设计四、详细设计1. 设计每个函数2. 设计主函数五、运行与测试1. 测试环境2. 在调试程序的过程中遇到的问题与解决方案3. 设计的测试数据与测试结果4. 程序清单及运行结果六、总结与心得七、参考资料一级目录二级目录三级目录# 整型数组按奇偶排序实验报告课程设计题目:整型数组按奇偶排序一、问题描述已知数组 A[n] 中的元素为整型,设计算法将其调整为左右两部

2021-03-15 13:02:55 322

空空如也

空空如也

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

TA关注的人

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