自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实现二叉树的三种非递归遍历算法

【问题描述】编写程序,实现二叉树的三种非递归遍历算法:先序非递归,中序非递归,后序非递归。【输入形式】输入建树序列。【输出形式】输出三种遍历序列。【样例输入】ABC####【样例输出】ABCCBACBA要求:程序由接口文件(.h)和程序文件(.c)组成。接口文件包括:栈的结构、基本操作定义,二叉树的结构,二叉树的创建。程序文件包括三种非递归遍历定义及主函数。...

2021-12-04 15:47:19 1031

原创 计算二叉树的深度和叶子结点数(递归算法实现)

【问题描述】计算二叉树的深度和叶子结点数【输入形式】输入二叉树的先序遍历序列建立二叉树。【输出形式】输出二叉树的叶子结点数和深度。【样例输入】ABC####【样例输出】Leaves:1Depth:3...

2021-12-04 13:19:53 5984 1

原创 二叉树的基本操作(建立与遍历)

【问题描述】以二叉链表的形式创建二叉树(不超过20个结点),并编写二叉树的遍历算法,实现二叉树的先序、中序及后序三种遍历。【输入形式】输入二叉树的结点信息(以先序遍历方式建立二叉树)。【输出形式】输出二叉树的先序、中序及后序三种遍历序列。【样例输入1】ABC####【样例输出1】preorder:ABCinorder:CBApostorder:CBA【样例输入2】AB##C##【样例输出2】preor

2021-11-28 12:52:39 1587

原创 双向循环链表(prior)的修复

【问题描述】假设一个双向循环链表,其结点含有三个域:prior,data和next。其中data为数据域;prior指向前驱结点,next指向后继结点。创建链表时,只链接了next域,导致链表只是一个单向循环链表。请补充算法,修复双向链表,可以实现双向访问。【输入形式】第1行输入n,表示输入n个数据。第2行输入n个整数,创建循环链表。(只创建了单向)【输出形式】从头到尾输出链表元素;从尾到头输出链表元素;【样例输入】51 2 3 4 5【样例输出】1 2 3

2021-11-28 10:04:58 2372

原创 C语言-查找顺序表中的最大值

【问题描述】编写算法:在顺序表中查找最大值,输出最大值及其在顺序表中的位置(若出现多个相同最大值,位置为第一次出现的)【输入形式】输入若干个整数建立顺序表。(若输入整数个数为0,则表示建立空表)【输出形式】输出顺序表中最大值及其第一次出现的位置(位序)。(若为空表,则输出“no”)【样例输入1】12 34 -90 87 126 -3【样例输出1】126 5【样例输入2】12 12 12 9 -3 -2【样例输出2】12 1【样例输入3】e【样.

2021-11-26 16:37:00 6466

原创 Java实现学生管理系统(完整代码)

案例需求完成一个综合案例:学生管理系统!该系统主要功能如下: 添加学生:通过键盘录入学生信息,添加到集合中删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改查看学生:将集合中的学生对象信息进行展示退出系统:结束程序项目演示:实现步骤:(1):定义学生类,包含以下成员变量学生类: Student成员变量: 学号:sid姓名:name 年龄:age生日:bir...

2021-11-26 16:17:07 19299 9

原创 串的模式匹配(KMP算法)

【问题描述】串的模式匹配算法实现(KMP算法)【输入形式】第一行输入主串s;第二行输入模式串t;第三行输入起始位置pos;【输出形式】输出模式串t的next值(以空格分隔)输出模式匹配结果【样例输入1】ababcabcacbababcac1【样例输出1】-1 0 0 0 16BF算法的原理简单但效率较低。原因是 i 和 j 的回溯,即在某趟匹配失败后,对于 s 串要回溯到本趟开始字符的下一个字符,t 串要回溯到第一个字符。然而这些回溯很多是不必

2021-11-21 14:40:49 1481

原创 串的模式匹配(BF算法)

【问题描述】串的模式匹配算法BF的实现与应用。【输入形式】第一行输入主串s;第二行输入模式串t;输入串中均不包含空格字符。【输出形式】模式串在主串s中的出现的每一个位置序号。若一次都未匹配到,则输出0。【样例输入1】ababcabcacbabab【样例输出1】1 3 6 12【样例输入2】11111345511323234243243211【样例输出2】1 2 3 4 10【样例输入3】fasdfdsfsadfdsdsagetgrd

2021-11-16 21:54:26 8692

原创 串的表示和基本操作

【问题描述】实现串的顺序表示和基本操作。【输入形式】第一行输入一个字符串;第二行输入一个字符串;第三行输入两个整数,分别表示在第一个字符串中获取子串的起始位置和长度;【输出形式】输出两个字符串比较的结果,若相等输出=,否则输出<>输出子串(若子串获取不成功,输出error)输出两个字符串的连接结果【样例输入1】123456abcdefg3 4【样例输出1】<>3456123456abcdefg【样例输入2】ABC

2021-11-14 17:11:01 1946 2

原创 顺序循环队列的基本操作

【问题描述】实现循环队列的基本操作。(循环队列最大长度不超过20)【输入形式】输入若干个整数(以空格分隔,非整数结束输入),其中0表示做出队操作,不为0的整数为入队元素。【输出形式】若出队错误输出“error”;若最后队列为空,则输出“empty”;若最后队列非空,依次输出队列的全部元素。【样例输入1】1 0 2 0 0 3 0 0 0 a【样例输出1】error【样例输入2】1 0 2 0 3 0 a【样例输出2】empty【样例输入3】

2021-11-13 17:53:28 3899 1

原创 顺序表元素循环左移(完整代码实现)

【问题描述】顺序表中有N(N>0)个整数,在不将顺序表中数据进行整体赋值的前提下,将每个整数循环左移M(M>=0)个位置。即顺序表中数据由(a1a2a3...an)变换为(am+1....ana1a2...am)。考虑如何让程序移动数据的次数尽量少。【输入形式】第一行输入N(1<=N<=100)、M(M>=0);第二行输入N个整数。【输出形式】输出顺序表中循环左移M位以后的整数序列(整数之间空格分隔)。【样例输入1】8 41 2 3 4

2021-11-13 00:35:01 2981

原创 栈的基本操作

【问题描述】设一个顺序栈,进行出栈和入栈操作。【输入形式】输入若干个整数(不超过1000),依次入栈;(提示:scanf("%d",&e)==1来作为输入判断)【输出形式】依次出栈并输出元素值,以空格分隔。【样例输入】23 45 67 14 -9 20 100 89 45 30【样例输出】30 45 89 100 20 -9 14 67 45 23栈的定义:栈是限定只能在表的一端(表尾)进行插入和删除操作的线性表。先进后出是栈的特性:顺序栈的表示和实现

2021-11-07 15:47:55 2016

原创 双向链表中插入结点并输出

【问题描述】对带头结点的双向链表,实现插入算法。【输入形式】第一行输入一个N(N大于等于1,小于1000);第二行输入N个整数,以空格作为分隔,创建长度为N的双向链表,为双向输出方便,需保留头尾指针;第三行输入pos和e,以空格分隔,分别表示插入位置和插入元素的值。【输出形式】若插入位置合法,插入成功,则输出:第一行从头开始顺向输出双向链表中元素,用空格分隔;第二行从尾结点开始逆向输出双向链表中元素,用空格分隔。若插入位置不合法,例如插入位置<1或超出链表范围,则

2021-11-06 18:54:46 1299

原创 删除单链表中倒是第K个结点

【问题描述】设有头结点单链表,删除单链表中倒数第k个结点。【输入形式】第一行输入若干个整数建立带头结点的单链表(以输入字符作为结束)。第二行输入一个整数k,表示删除倒数第k个结点。【输出形式】输出删除后单链表的所有元素。【样例输入1】10 20 30 40 50 e3【样例输出1】10 20 40 50【样例输入2】10 20 30 40 50 60 70 80 90 100 e1【样例输出2】10 20 30 40 50 60 70 80 9

2021-11-05 19:25:12 1505

原创 有头结点单链表的逆置

【问题描述】设有头结点单链表,编写算法实现单链表逆置。【输入形式】第一行输入一个整数N;第二行输入N个整数,以空格作为分隔,创建单链表;【输出形式】输出逆置后的单链表,,元素之间以空格分隔。【样例输入】510 20 30 40 50【样例输出】50 40 30 20 10有头结点单链表逆置单链表的逆置不是简单的逆序输出,而是结点在链表中位置的逆序。实现思路:(1)将链表从头结点处断开,设置一个指针指向第一个结点(非空时);(2)依次从链表中

2021-11-04 20:04:02 3332

原创 单链表的基本操作-查找

【问题描述】实现有头结点单链表查找算法:根据关键字值查找其在单链表中的位置(第一次出现的位置)。【输入形式】第一行输入整数n(n不大于1000),表示单链表长度;第二行输入若干个整数(以非法整数或文件末尾作为结束),表示欲查找的关键字值;【输出形式】输出每个关键字值在单链表中的位置。若未找到,输出“no”。【样例输入】510 56 -34 -2 9090-1003456e【样例输出】5nono2单链表的查找算法链表的访问均从

2021-11-03 22:38:20 3443

原创 单链表的删除操作

【问题描述】设有头结点单链表,实现单链表删除。【输入形式】第一行输入N,M;N表示单链表表长,M表示执行M次删除;第二行输入N个整数,建立有头结点单链表;接着输入M个整数,每个整数表示删除结点的位置(位序)。【输出形式】若删除成功,输出删除结点的关键字值;若删除不成功,则输出error。最后输出执行M次删除后的单链表。【样例输入】5 310 20 30 40 50254【样例输出】20error5010 30 40线性链表的删.

2021-11-02 21:28:44 10266 2

原创 顺序表删除重复元素(完整代码的实现)

【问题描述】设一顺序表有若干元素,编写程序实现删除表中值重复的元素,即重复元素只保留一个。【输入形式】第一行输入一个N(N不大于100),表示顺序表的长度;第二行输入N个整数,表示顺序表元素;【输出形式】输出去重后的顺序表。【样例输入】72 2 2 3 3 2 2【样例输出】2 3实现删除重复元素只需要在原理的顺序表中完成,所以不需要可变长的顺序表,定义一个足够长的顺序表即可#include <stdio.h>#define MAXSIZE

2021-11-01 20:50:26 13423 7

原创 C语言-数据结构-单链表的初始化,插入和输出

【问题描述】设有头结点单链表,实现单链表的初始化、插入和输出算法。【输入形式】第一行输入一个N(N大于等于1,小于1000),一个M(N大于等于1,小于1000);第二行输入N个整数,以空格作为分隔,创建长度为N的单链表;接着输入M组数据:pos和e,以空格分隔,分别表示插入位置和插入元素的值。【输出形式】若插入成功,输出yes;若插入不成功,输出error。最后输出单链表所有元素(以空格分隔)。【样例输入1】5 3-4 5 2 7 02 100...

2021-10-31 21:12:44 5421

原创 C语言-数据结构-可变长顺序表的删除操作

【问题描述】实现可变长顺序表的删除算法。任务要求:通过顺序表的初始化、插入算法,创建顺序表。根据删除需求,删除指定的顺序表元素。【输入形式】第一行输入整数N(1<=N<=100),M(1<=M<=100);N表示创建长度为N的顺序表;M表示执行M次删除操作。第二行输入N个整数,表示顺序表的N个元素,依次放入表中;接着输入M个整数,表示欲删除元素的位序。如如输入3,表示删除顺序表的第3个元素。【输出形式】输出执行M次删除后的顺序表元素。(若有删除位置不合法的

2021-10-30 20:01:02 1353

原创 C语言-数据结构-可变长顺序表的查找操作

【问题描述】实现可变长顺序表的查找算法。任务要求:通过顺序表的初始化、插入建立顺序表,根据查找要求,返回查找结果。【输入形式】第一行输入整数N(1<=N<=100),M(1<=M<=100)。N表示创建长度为N的顺序表;M表示输入M个查找的关键值。第二行输入N个整数,表示顺序表的N个元素,依次放入表中;接下来输入M个查找的关键值。【输出形式】对于每个查找关键值,若找到,输出其在顺序表的位序,若未找到,输出“no”。【样例输入】5 210 20

2021-10-29 19:25:12 684

原创 C语言-数据结构-可变长顺序表的初始化,插入和输出

问题描述:实现可变长顺序表的建表过程。任务要求:通过顺序表的初始化、插入算法,实现顺序表的建表,并依次输出顺序表元素。【输入形式】第一行输入整数N(1<=N<=100),表示创建长度为N的顺序表;第二行输入N个整数,表示顺序表的N个元素,依次放入表中;【输出形式】依次输出顺序表的全部元素。(以空格分隔)【样例输入】51 2 3 4 5【样例输出】1 2 3 4 5实现可变长顺序表要定义:初始的存储空间空间(INIT_SIZE)和空间再分配的增量大小

2021-10-28 21:02:08 2763

空空如也

空空如也

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

TA关注的人

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