自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 队列的基本操作大菜单(链队)

队列的基本操作大菜单#include <iostream>#pragma clang diagnostic push#pragma ide diagnostic ignored "EndlessLoop"#define ok 1#define error 0using namespace std;typedef int QElemType;typedef int status;//------------定义-------------typedef stru...

2022-05-23 18:33:04 363

原创 链队实现舞伴问题

舞伴问题:先入队的男士和先入队的女士先出队配成舞伴。设置两个队列分别存放男士和女士入队者;舞会开始时,依次将两队当前的队头元素出队来配成舞伴,直至某队列变空为止。此时,若某队仍有等待配对者,则输出此队列中排在队头的等待者的姓名,此人将是下一轮舞曲开始时第一个可获得舞伴的人。请编写程序,利用顺序队或链队实现舞伴问题#include <iostream>#define ok 1#define error 0using namespace std;//typedef ch..

2022-05-23 18:29:49 923

原创 链队基本操作代码块

链队基本操作//------------定义-------------typedef struct QNode{ QElemType data; struct QNode *next;}QNode , *QueuePtr;typedef struct{ QueuePtr front; //队头指针 QueuePtr rear ; ..

2022-05-17 21:08:50 276

原创 顺序循环队基本操作代码块

顺序循环队基本操作//-------队列的顺序存储结构--------//------------定义-----------------#define MaxQSize 100 //队列可达到的最大长度typedef struct{ QElemType *base; //存储空间的基地址 int front; //头指针 int rear; .

2022-05-17 21:07:22 261

原创 顺序栈的排序(升序---暴力解法)

/*------------------------------------------------------------------------* *利用顺序栈解决栈的排序问题:按升序对一个栈进行排序,即最小元素位于栈顶。 最多只能使用一个额外的栈存放临时数据,并输出栈排序的过程 * * ------------------------------------------------------------------------*/#include <iostream>#.

2022-05-15 22:08:24 495

原创 将顺序表表中的小写英文字母转换为大写英文字母

给定一个顺序表,其数据元素为字符类型,要求实现一个函数,可将顺序表表中的小写英文字母转换为大写英文字母,然后输出该表。输入样例:6aBcDeF输出样例:ABCDEF#include <iostream>using namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 100 typedef int Status; typedef char ElemType; ..

2022-05-15 22:02:15 252

原创 输出单链表中偶数结点的个数

给定一个单链表,其数据元素为正整数,要求实现一个函数,可输出该表中偶数结点的个数,若表空,输出0。输入样例:51 2 3 4 5输出样例:2#include <iostream>using namespace std; #define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 100 typedef int Status; typedef int ElemType; typedef s..

2022-05-15 22:00:38 634

原创 判断该单链表是否递增有序

给定一个非空单链表,其数据元素为整数,本题要求实现一个函数,可判断该单链表是否递增有序。若是,输出“YES”,否则,输出“NO”。输入样例:51 2 3 4 5输出样例:YES#include <iostream>using namespace std; #define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 100 typedef int Status; typedef int Ele..

2022-05-15 21:59:26 2439 1

原创 合并两个非空且递增有序的单链表成一个递增有序的单链表

实现一个函数,将两个非空且递增有序的单链表合并成一个递增有序的单链表并输出。输入样例:31 3 542 4 6 8输出样例:1 2 3 4 5 6 8#include <iostream>using namespace std; #define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 100 typedef int Status; typedef int ElemType; ty..

2022-05-15 21:57:59 269

原创 删除一个顺序表中所有值为x的元素

实现一个函数,用于删除一个顺序表中所有值为x的元素,并输出顺序表。输入样例:在这里给出一组输入。例如:51 3 2 3 43第一行的5是线性表的长度;第二行是组成线性表的5个数据元素;第三行的3是指定要删除的数。输出样例:1 2 4#include <iostream>using namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 100 typ...

2022-05-15 21:56:08 2877 1

原创 统计单链表中能被3整除的结点的个数

*给定一个单链表,其数据元素为正整数,要求实现一个函数,可输出该表中值能被3整除的结点的个数;若表空,输出0。 *统计单链表中能被3整除的结点的个数 * 输入样例: 8 1 3 4 5 6 7 8 9 第一行的8为单链表的长度,第二行为各个结点的数据值。 输出样例: 3#include <iostream>using namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2#defin..

2022-05-15 21:52:35 490

原创 顺序栈大菜单

/*------------------------------------------------------------------------* * * 请编写程序,实现顺序栈的各种基本运算,利用菜单组织所有功能,要求实现:(1)输出栈中的所有元素;(2)入栈:往栈中压入一个元素;(3)出栈:从栈中退出一个元素;(4)取栈顶:输出当前栈顶元素;(5)求栈的长度;(6)清空栈;(7)销毁栈并退出系统。 * * -----------------------------------.

2022-05-10 19:35:49 440

原创 顺序栈的基本操作代码块

//定义typedef struct{ SElemType *base; //栈底指针 SElemType *top; //栈顶指针 int stacksize; //栈可用的最大容量}SqStack;//初始化,构建一个空栈/*-------------------------.

2022-05-03 21:21:49 488

原创 链表实现多项式乘法

基于链式存储结构实现两个多项式的乘法问题,例如多项式A = 2x3 + 3x + 1,多项式B = 5x4 + 2x3 - 3x2 – 3,则A * B = 10x7 + 4x6 + 9x5 + 11x4 -13x3 – 3x2 – 9x – 3。#include <iostream>#define ok 1#define error 0using namespace std;typedef int status;typedef int ElemType;/...

2022-05-02 23:45:00 1933

原创 单链表实现大整数相加

C/C++语言中的int类型能表示的整数范围是-2^31~2^31-1,unsigned int类型能表示的整数范围是0~2^32-1,即0~4 294 967 295,所以,int和unsigned int类型都不能存储超过10位的整数。有些问题需要处理的整数远远不止10位,这种大整数用C/C++语言的基本数据类型无法直接表示。请编写算法,采用顺序表或者单链表实现两个大整数相加运算。提示:将用户输入的十进制整数字符串转化为顺序表或者带头结点的单链表,每个数据元素或每个结点中存放一个整数位,然...

2022-05-02 23:30:00 1968

原创 顺序表中删除最小值的元素

从顺序表中删除最小值的元素(假设唯一)并由函数返回被删元素的值,空出位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行#include <iostream>#define ok 1#define error 0#define MaxSize 100using namespace std;typedef int ElemType;typedef int status;//定义typedef struct{ ElemType *elem; i.

2022-04-27 20:17:52 1580

原创 数据结构第二章课后习题第十题(删除顺序表中值为item的元素)

已知长度为n的线性表A采用顺序存储结构,请写一时间复杂度为O(n)、空间复杂度为O(1)的算法,该算法删除线性表中所有值为item的数据元素。#include <iostream>#define ok 1#define error 0#define overflow -2#define MaxSize 100using namespace std;typedef int status;typedef int ElemType;//定义typedef struct.

2022-04-24 19:54:30 3128

原创 数据结构第二章课后习题第九题(交换双向链表中当前结点和前驱结点的顺序)

已知p指向双向循环链表中的一个结点,其结点结构为data、prior、next三个域,写出算法change(p),交换p所指向的结点和它的前缓结点的顺序。#include <iostream>#define ok 1#define error 0using namespace std;typedef int ElemType;typedef int status;//定义typedef struct DNode{ ElemType data; struct.

2022-04-24 16:01:39 2269 1

原创 将顺序表元素按从大到小排序输出

将顺序表元素从大到小排序输出 顺序表长度:6输入元素:45 23 78 2 12 6输出:45 23 78 2 12 6排序后输出:78 45 23 12 6 2----------------------------------------#include <iostream>#define OK 1#define ERROR 0#define OVERFLOW -2#define MaxSize 100using namespace std; ty.

2022-04-21 20:49:48 693

原创 逆序输出单链表元素

#include <iostream>#define ok 1using namespace std; typedef int ElemType;typedef int status; //定义单链表typedef struct LNode{ ElemType data; struct LNode *next;} LNode, *LinkList; //求表长int Length(LinkList L){ LNode *p = L->nex.

2022-04-21 19:46:04 2213

原创 入栈,出栈的小练习

#include <iostream>using namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 10 typedef int Status; typedef char SElemType;typedef struct { SElemType *base; SElemType *top; int stacksize; .

2022-04-21 19:43:28 806

原创 顺序表小写转大写

#include <iostream>using namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 100 typedef int Status; typedef char ElemType; typedef struct{ ElemType *elem; int length; }SqList; Status InitList(SqLis.

2022-04-21 19:38:01 70

原创 输出单链表中偶数结点的个数

给定一个单链表,其数据元素为正整数,要求实现一个函数,可输出该表中偶数结点的个数,若表空,输出0。#include <iostream>using namespace std; #define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 100 typedef int Status; typedef int ElemType; //定义 typedef struct LNode{ El.

2022-04-21 19:36:33 1703

原创 数据结构第二章课后习题第八题(删除有序递增链表中指定区间的结点)

设计算法,删除递增有序链表中值大于min,且小于max的所有元素min和max是给定的两个参数,其值可以和表中元素相同或者不同 #include <iostream> #define overflow -2#define ok 1#define error 0 using namespace std; typedef int status;typedef int ElemType; //定义typedef struct LNode{ ElemType .

2022-04-20 21:50:00 647

原创 数据结构第二章课后习题第七题(逆转结点链接方向)

设计算法,通过一趟遍历,将链表中所有结点的链接方向逆转,仍利用原来的存储空间 #include <iostream> #define overflow -2#define ok 1#define error 0 using namespace std; typedef int status;typedef int ElemType; //定义typedef struct LNode{ ElemType data; //数据域 str.

2022-04-20 21:30:53 862

原创 数据结构第二章课后习题第六题(求最大结点值)

设计算法,通过一趟遍历在单链表中确定值最大的结点 #include <iostream> #define overflow -2#define ok 1#define error 0 using namespace std; typedef int status;typedef int ElemType; //定义typedef struct LNode{ ElemType data; //数据域 struct LNode *nex.

2022-04-20 21:18:18 675

原创 数据结构第二章课后习题第五题(分解链表)

设计算法将一个带头结点的单链表LA分解为两个具有相同结构的链表LB、LC,其中LB表的结点为LA表中值小于零的结点,而LC表的结点为LA表中值大于零的结点(链表LA中的元素为非零整数,要求LB、LC表利用LA表的结点)#include <iostream> #define overflow -2#define ok 1#define error 0 using namespace std; typedef int status;typedef int El...

2022-04-20 20:58:30 525

原创 数据结构实现单链表的基本运算(大菜单)

实现单链表的各种基本运算,要求用菜单组织所有功能。设单链表中存储的数据元素为int型,要实现的功能包括:(1)输出单链表中的所有元素,若单链表为空,则给出提示信息;(2)按序号查找指定元素,即输出单链表中的第i个元素;(3)按值查找指定元素,即输出单链表中值为x的元素的序号;(4)在指定位置插入元素,即在第i个元素前面插入值为x的元素;(5)删除指定元素,即删除第i个元素;(6)求单链表的长度,即数据结点的个数;(7)返回单链表中最后一个最小结点(最小结点可能有多个)的逻辑序号;(8)...

2022-04-20 17:02:41 1504

原创 数据结构第二章课后习题第四题(求差集)

已知两个链表A和B分别表示两个集合,其元素递增排列。请设计算法求出两个集合A和B的差集(即仅由在A中出现而不在B中出现的元素所构成的集合),并以同样的形式存储,同时返回该集合的元素个数。#include <iostream>using namespace std;typedef int ElemType;typedef int status;//定义单链表typedef struct LNode{ ElemType data; struct LN.

2022-04-18 21:08:57 679

原创 数据结构第二章课后习题第二题(求交集可有重复元素)

将两个非递减的有序链表合并为一个非递增的有序链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其它的存储空间。表中允许有重复的数据。#include <iostream> using namespace std; typedef int ElemType; typedef int status; //定义单链表 typedef struct LNode{ ElemType data; struct LNode *next;}LNode ,*Link.

2022-04-18 20:10:04 376 1

原创 数据结构第二章课后习题第一题(求并集无重复元素)

将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其它的存储空间。表中不允许有重复的数据。#include <iostream> using namespace std; typedef int ElemType; typedef int status; //定义单链表 typedef struct LNode{ ElemType data; struct LNode *next;}LNode ,*LinkL.

2022-04-18 19:58:38 503

原创 数据结构第二章课后习题第三题(求交集)

已知两个链表A和B分别表示两个集合,其元素递增排列。请设计一个算法,用于求出A与B的交集,并存放在A链表中#include <iostream> using namespace std; typedef int ElemType; typedef int status; //定义单链表 typedef struct LNode{ ElemType data; struct LNode *next;}LNode ,*LinkList; //尾插法创建单链.

2022-04-18 19:44:03 551

原创 定义单向链表输入学生信息

定义单向链表struct Node并实现:输入若干个学生信息(包括学号、姓名和成绩),输入学号为0时输入结束,再输入一个成绩值,将成绩小于该值的学生信息删除,并将成绩大于等于该值的学生信息输出。输入输出示例:括号内为说明输入样例:1 zhang 782 wang 803 li 754 zhao 85080输出样例:2 wang 804 zhao 85#include<iostream>#define ok 1#define error 0usin...

2022-04-16 19:41:27 2579

原创 删除一个单向链表中的偶数值结点,并输出结果

编程实现:输入若干个正整数(输入-1为结束标志),建立一个单向链表,将其中的偶数值结点删除后输出。链表节点定义为:struct Node{int data;struct Node *next;}输入输出示例:括号内为说明输入样例:1 2 3 4 5 6 7 -1输出样例:1 3 5 7#include <iostream>#define ok 1#define error 0#define overflow -2using namespace std...

2022-04-14 22:26:53 1417

原创 单链表实现两个有序链表序列的交集

已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用-1表示序列的结尾(-1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出两个输入序列的交集序列,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 2 5 -12 4 5 8 10 -1输出样例:2 5分析:因为两个链表是非降序的序列,因此,我们可以将两个链表进行比较,小的就继续向后移动,直到两...

2022-04-14 21:00:31 1766

原创 单链表实现两个有序链表序列的合并

已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。输入格式:输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用?1表示序列的结尾(?1不属于这个序列)。数字用空格间隔。输出格式:在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL。输入样例:1 3 5 -12 4 6 8 10 -1输出样例:1 2 3 4 5 6 8 10单链表实现 #include <iostream..

2022-04-14 19:37:35 1972

原创 求链式线性表的倒数第K项

给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。输入格式:输入首先给出一个正整数K,随后是若干非负整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。输出格式:输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。输入样例:4 1 2 3 4 5 6 7 8 9 0 -1输出样例:7分析:查找倒数第k个数,我们可以认为是查找正着数的第n - k个数 由于在链表中,头插法创建链表,链表的结点链接顺序与逻辑顺序是相..

2022-04-14 14:26:23 2612

原创 顺序表实现图书信息管理系统

设计一个图书信息管理系统,每本图书包含ISBN号、书名、定价信息,要求实现取值、查找、插入、删除等功能#include <cstring>#include <iostream>#include <stdlib.h>#define ok 1#define error 0#define overflow -2#define MaxSize 100using namespace std;typedef int status;//定义 t..

2022-04-13 21:55:51 4198

原创 找出两个升序顺序表的中位数

一个长度为n(n≥1)的升序排列顺序表La,处在第n/2个位置的数称为La的中位数。例如:若La=(11,13,17,15,19),则La的中位数是15。两个升序排列的顺序表的中位数是含它们所有元素的升序序列的中位数。例如,若Lb=(2,6,8,4,20),则La和Lb的中位数是11。现有两个等长的升序排列的顺序表La和Lb,试设计一个在时间和空间两方面都尽可能高效的算法,找出两个顺序表的中位数#include <iostream>#define ok 1#define e.

2022-04-13 21:54:30 530

原创 顺序表求集合运算(A-B) ∪(B-A)

采用顺序表表示集合,编程求集合运算(A-B) ∪(B-A)的结果。例:设集合A=(c,b,e,g,f,d),B=(a,b,n,f),则(A-B) ∪(B-A)=(c,e,g,d,a,n)#include <iostream>#define ok 1#define error 0#define overflow -2#define MaxSize 100using namespace std;typedef char ElemType;typedef int Sta..

2022-04-12 19:15:38 1642 2

空空如也

空空如也

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

TA关注的人

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