![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
SuiGi_此昵称已存在
个人代码爱好者
展开
-
数组的基本操作
//因为太懒没写输入错误维度和下标的情况#ifndef PCH_H#define PCH_H#include<cstdlib>#include<stdio.h>#include<malloc.h>#include<math.h>#include<iostream>constexpr auto M = 3;constexpr auto N = 4;constexpr auto OK= 1;constexpr auto ERROR原创 2020-10-28 21:55:58 · 217 阅读 · 0 评论 -
串(String)的KMP算法
//Markdown编辑器我没法从IDE复制代码了//就很生气#ifndef PCH_H#define PCH_H#include<cstdlib>#include<stdio.h>#include<malloc.h>#include<math.h>#include<iostream>typedef int Stat...原创 2019-11-03 08:04:35 · 296 阅读 · 0 评论 -
数组存储的双栈
/*双栈数据结构(第三章 栈与队列)编号0,1两个栈存储于数组空间V[m]中,栈底分别位于数组的两端 *///要返校了赶紧写个代码纪念一下假期#ifndef PCH_H#define PCH_H#include<stdio.h>#include<iostream>#include<cstdlib>#include<math.h>#in...原创 2019-07-11 18:47:02 · 246 阅读 · 0 评论 -
舞伴问题
#ifndef PCH_H#define PCH_H#include<stdio.h>#include<stdlib.h>#include<cstdlib>#include<math.h>#include<iostream>#include<malloc.h>constexpr auto OK = 1;con...原创 2019-07-11 18:40:29 · 476 阅读 · 0 评论 -
表达式求值
/*用到了atof()字符转浮点,以及C++中方法的重载只含加减乘除的简单算术表达式1.先乘除后加减2.从左算到右3.先括号内后括号外4.暂定输入的表达式不会出现语法错误算法有点前序遍历既视感*/#ifndef PCH_H#define PCH_H#include<stdio.h>#include <stdlib.h>#include<cs...原创 2019-07-11 18:36:35 · 91 阅读 · 0 评论 -
括号匹配的检验(链栈辅助)
#ifndef PCH_H#define PCH_H#include<stdio.h>#include<malloc.h>//free#include<cstdlib>#include<math.h>#include<string>#include <iostream>constexpr auto MAXSIZ...原创 2019-07-11 18:33:07 · 160 阅读 · 0 评论 -
数制的转换(顺序栈存储)
//死活用不好Visual Studio新版,好久没这么胃疼了#include<stdio.h>#include<iostream.h>#include<malloc.h>//free#include<cstdlib>#include<math.h>#include<string>#define MAXSIZE ...原创 2019-07-11 18:29:11 · 199 阅读 · 0 评论 -
链队的表示和实现
#include<stdio.h>#include<iostream.h>#include<malloc.h>//free#include<cstdlib>#include<math.h>#include<string.h>#define MAXSIZE 100#define OK 1#define ERROR...原创 2019-07-11 18:26:57 · 167 阅读 · 0 评论 -
循环队列基本操作
//Sequent Queue's basic operation//Circular Queue#include<stdio.h>#include<iostream.h>#include<malloc.h>#include<cstdlib>//包含exit头文件#include<math.h>#include<st...原创 2019-07-11 16:53:55 · 177 阅读 · 0 评论 -
回文判断
//回文是指正读反读均相同的字符序列,如abba abdda(将一半字符入栈#ifndef PCH_H#define PCH_H#include<stdio.h>#include<cstdlib>#include<malloc.h>#include<math.h>#include<iostream>#include<...原创 2019-07-11 18:48:14 · 154 阅读 · 0 评论 -
整数序列链栈存储
//输入整数序列,栈存储,a≠-1时入栈,a=-1时将栈顶出栈并输出,算法应对异常给出相应信息//虽然知道题目该用顺序栈,但是姑且也该复习一下链栈了#ifndef PCH_H#define PCH_H#include<stdio.h>#include<iostream>#include<cstdlib>#include<malloc.h>...原创 2019-07-11 18:50:13 · 342 阅读 · 0 评论 -
后缀表达式(逆波兰式)
/*定义from baidubaike后缀表达式,又称逆波兰式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则)"$"作为结束符*/#ifndef PCH_H#define PCH_H#include<stdio.h>#include<iostream>#include<cstd...原创 2019-07-11 18:52:03 · 1640 阅读 · 0 评论 -
判别合法序列
//总而言之一系列出入栈空合法,否则不合法//调试完了#ifndef PCH_H#define PCH_H#include<cstdlib>#include<iostream>#include<stdio.h>#include<malloc.h>#include<math.h>typedef int Status;co...原创 2019-07-11 18:53:10 · 438 阅读 · 0 评论 -
带头结点的循环链队
//不设头指针只有尾指针的链表存储的循环队列//蓝瘦#ifndef PCH_H#define PCH_H#include<cstdlib>#include<stdio.h>#include<malloc.h>#include<iostream>constexpr auto MAXSIZE = 100;constexpr auto O...原创 2019-07-11 18:54:26 · 1109 阅读 · 1 评论 -
数组存放循环队列
/*以数组存放循环队列,tag=0或1区分rear和front相等时队空或者队满,编写相应的入队和出队算法。*/#ifndef PCH_H#define PCH_H#include<stdio.h>#include<iostream>#include<malloc.h>#include<cstdlib>//包含exit头文件#inc...原创 2019-07-11 18:55:54 · 1914 阅读 · 0 评论 -
循环队列两端的插入删除操作
/*允许在循环队列的两端都可以进行插入和删除操作写出这样的循环队列类型定义+从队尾删除+从队头插入的算法*///私はあの弱い自分を認めない#ifndef PCH_H#define PCH_H#include<stdio.h>#include<iostream>#include<malloc.h>#include<cstdlib>//包...原创 2019-07-11 18:58:45 · 5475 阅读 · 0 评论 -
求链表中最大整数结点个数平均值
#ifndef PCH_H#define PCH_H//链表全整型数据,f为表头指针,使用递归算法// TODO: 添加要在此处预编译的标头#include<stdio.h>#include<iostream>#include<malloc.h>//free#include<cstdlib>#include<math.h>...原创 2019-07-25 01:14:13 · 839 阅读 · 0 评论 -
Ackermann函数的递归与非递归算法
//折腾了我将近一周了,没查到能实际应用的程序代码只好自己魔改#ifndef PCH_H#define PCH_H/*科普:阿克曼函数Ackermann(0,n)=n+1Ackermann(1,n)=n+2Ackermann(2,n)=2*n+3Ackermann(3,n)=2^(n+3)-3*/#include<stdio.h>#include<stdli...原创 2019-07-22 22:56:59 · 4255 阅读 · 0 评论 -
顺序存储串的基本操作
//几个算法写得老阔痛#ifndef PCH_H#define PCH_H#include<cstdlib>#include<stdio.h>#include<malloc.h>#include<iostream>#include<math.h>#include<string>//?#include<t...原创 2019-08-18 01:41:48 · 462 阅读 · 0 评论 -
n阶Hanoi塔
/*思路如下:①假定只有两个圆盘,执行到n==1,移动2-1盘到B,最下圆盘到C,再把B中的2-1盘移动到C②假定有三个圆盘,①的步骤已执行,但由于Hanoi(2,A,C,B)传入顺序,最终结果是把2,1盘移动到了B上然后执行Move(A,n,C),把3盘移动到C上,然后在把B上的3-1个盘当做①部A的两个圆盘移动到C上以下同理循环执行*/#include<stdio.h>...原创 2019-07-11 14:26:20 · 328 阅读 · 0 评论 -
factorial &fibonacci函数+链表递归遍历
//factorial &fibonacci//recursion function//分治法#include<stdio.h>#include<iostream.h>#include<malloc.h>//free#include<cstdlib>#include<math.h>#include<strin...原创 2019-07-11 13:54:07 · 106 阅读 · 0 评论 -
一般多项式的计算(链表)
/很久以前写的,如果有错误请告诉我!//案例2.2:使用单链表进行两个稀疏(一般)多项式的相加运算A(x)=7+3x+9x8+5x17B(x)=8x+22x7-9x8[分析]每个链表存储多项式中的一个非零项,包括系数coef、指数expn两个数据域以及一个指针域,指数相同则对应系数相加,不为零插入LC为零释放两结点;指数不相同则将指数较小者插入LC/#include<stdio...原创 2019-05-11 13:25:19 · 1061 阅读 · 0 评论 -
一般多项式的相加(链表)
/* ERROR TEST *// * 原本的算法有个问题是如果录入连续两项指数相同相加的时候无法合并成一项,这会造成空间的浪费擅自做了一点修改,创建多项式时若两项指数相等直接将q的系数改为两项系数之和可以很好的解决这个问题 * /#include<stdio.h>#include<iostream.h>#include<malloc.h>#i...原创 2019-05-13 22:33:53 · 2534 阅读 · 0 评论 -
一般多项式的创建(链表)
//ERROR TEST//看样子不是创建这一步的问题#include<stdio.h>#include<iostream.h>#include<malloc.h>#include<cstdlib>#include<math.h>#include<string.h>#define OK 1#define E...原创 2019-05-13 22:30:52 · 1929 阅读 · 0 评论 -
一元多项式计算(链表)
//今天不太想写的,但是也不想断掉(已经断了/案例1:一元多项式的计算 P(x)=10+5x-4x2+3x3+2x^4[分析]下标表示指数,数据域贮存系数/#include<stdio.h>#include<iostream.h>//流#include<malloc.h>#include<cstdlib>//包含exit头文件#inc...原创 2019-04-15 20:55:07 · 2045 阅读 · 0 评论 -
非递减有序链表的合并
//任务管理器关闭后台运行的程序以免出现错误/*问题描述:利用链表储存结构实现非递减有序表的合并[分析]链表不需要额外开辟储存空间,可以直接利用原链表空间建立两表元素之间新的链接即可*/#include<stdio.h>#include<iostream.h>//流#include<malloc.h>#include<cstdlib>...原创 2019-03-18 22:09:55 · 906 阅读 · 0 评论 -
非递减有序顺序表的合并
/*问题描述:已知两个有序集合A和B,数据元素按值非递减有序排列,现要求一个新的集合C=A∪B,使集合C中数据元素仍按值非递减有序排列//搬点以前写的记录一下[分析]:无序表LA,LB所以无需遍历LB,设LC为空表用两个头指针pa,pb遍历两表将小值插入LC并++,最后多余数据表直接补在LC后面设表长分别为m,n,时间复杂度为○(m+n),最糟的情况不过LA的元素都大于LB,LB表长大...原创 2019-03-17 00:01:39 · 3317 阅读 · 1 评论 -
无序线性表合并(链表)
//分析:无序两张表LA,LB,需要遍历LB查重再插入LA尾#include<stdio.h>#include<iostream.h>#include<malloc.h>#include<cstdlib>//包含exit头文件#include<math.h>#include<string.h>#define O...原创 2019-03-03 23:16:49 · 916 阅读 · 0 评论 -
顺序表基本操作
顺序表基本操作//补档#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;iostream.h&amp;gt;#include&amp;lt;malloc.h&amp;gt;#include&amp;lt;cstdlib&amp;gt;//包含exit头文件#include&amp;lt;math.h原创 2019-03-02 23:22:55 · 269 阅读 · 0 评论 -
图书馆信息管理系统(顺序表)
//已补全 /* 图书信息管理系统:要求完成查找、插入、删除、修改、排序、计数功能*/#include<stdio.h>#include<iostream.h>#include<malloc.h>#include<cstdlib>//包含exit头文件#include<math.h>#include<string.h&...原创 2019-06-07 18:31:25 · 7163 阅读 · 1 评论 -
图书信息管理系统(链表)
/*图书信息管理系统,要求用单链表完成查找、插入、删除、修改、排序、计数功能*/#include<stdio.h>#include<iostream.h>#include<malloc.h>#include<cstdlib>//包含exit头文件#include<math.h>#include<string.h>...原创 2019-07-10 21:43:39 · 3855 阅读 · 0 评论 -
冒泡排序(数组)
//冒泡排序回忆向//升序#include<stdio.h>#include<iostream.h>#include<malloc.h>#include<cstdlib>//包含exit头文件#include<math.h>#include<string.h>#define MAXSIZE 100#defin...原创 2019-07-10 21:55:00 · 314 阅读 · 0 评论 -
链栈的表现和实现
//stack basic operation//linked stack#include<stdio.h>#include<iostream.h>#include<malloc.h>//free#include<cstdlib>#include<math.h>#include<string>#define M...原创 2019-07-11 13:46:19 · 182 阅读 · 0 评论 -
顺序栈表示与实现
//stack basic operation//sequent list//if base=top null stack#include<stdio.h>#include<iostream.h>#include<malloc.h>//free#include<cstdlib>#include<math.h>#includ...原创 2019-07-11 13:44:43 · 874 阅读 · 0 评论 -
双向链表的逆转
/*(4)设计算法使链表内所有链接方向原地逆转,要求仅使用原表存储空间换句话说,要求算法空间复杂度为o(1)(5)设计算法删除递增表中大于mink小于maxk的元素*///来一波双向链表的逆转挑战一下#include<stdio.h>#include<iostream.h>#include<malloc.h>#include<cstdlib&...原创 2019-07-11 13:41:32 · 573 阅读 · 0 评论 -
删除线性表中所有值为item的数据元素
/*(6)已知长度为n的顺序存储结构表A,写一个时间复杂度为o(n)空间复杂度为o(1)的算法,删除线性表中所有值为item的数据元素*///after all, what's the border of difficulty#include<stdio.h>#include<iostream.h>#include<malloc.h>#include...原创 2019-07-11 13:39:46 · 4091 阅读 · 0 评论 -
单链表分解
/*(3)问题描述:设计算法将一个带头结点的单链表A(非零整数) 分解为两个具有相同结构的链表B和C,B中元素小于零C中元素大于零要求利用A表的结点(4)一次遍历求最大值*///感觉该抽点时间写代码了#include<stdio.h>#include<iostream.h>#include<malloc.h>#include<cstdlib&...原创 2019-07-10 22:49:18 · 1110 阅读 · 0 评论 -
递增合集A,B的交集和差集
//(2)问题描述:递增两个合集A,B。设计算法,求出A,B的交集和差集//存放在A中//居然一气呵成写完运行成功了, 有難すぎじゃん!#include<stdio.h>#include<iostream.h>//流#include<malloc.h>#include<cstdlib>//包含exit头文件#include<mat...原创 2019-07-10 22:19:37 · 437 阅读 · 0 评论 -
递增有序链表的合并
//(1)问题描述:将两个递增的有序链表合并为一个有序链表//不允许有重复数据,不另外占用存储空间//review,tsuzuki#include<stdio.h>#include<iostream.h>//流#include<malloc.h>#include<cstdlib>//包含exit头文件#include<math.h...原创 2019-07-10 22:10:09 · 512 阅读 · 0 评论 -
快速排序(C)
//目前不能用于出现重复数字的情况//待我想想,想到胃痛//递归缩小区间至1个数#include<stdio.h>#include<iostream.h>#include<malloc.h>#include<cstdlib>//包含exit头文件#include<math.h>#include<string.h>...原创 2019-07-10 22:00:35 · 86 阅读 · 0 评论