自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宇宙观光巴士站

努力中。

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

原创 java多线程聊天室(有图形界面)

java实现有图形界面的多线程聊天室

2021-12-07 09:45:19 3075

原创 双向循环链表:始终保持被频繁访问的结点总是靠近表头结点

双向循环链表:始终保持被频繁访问的结点总是靠近表头结点-数据结构题目题目:设有一个双向循环链表,每个结点中除有prior,data和next三个域外,还增设了一个访问频度域freq。在链表被起用之前,频度域freq的值均初始化为零,而每当对链表进行一次LOCATE(L,x)的操作后,被访问的结点(即元素值等于x的结点)中的频度域freq的值便增1,同时调整链表中结点之间的次序,使其按访问频度非递增的次序顺序排列,以便始终保持被频繁访问的结点总是靠近表头结点。试编写符合上述要求的LOCATE操作的算法。

2020-12-05 21:37:30 946

原创 双向循环链表:将偶数位元素移到表尾

双向循环链表:将偶数位元素移到表尾-数据结构题目题目:设以带头结点的双向循环链表表示的线性表L=(a1,a2,…,an)。试写一时间复杂度为O(n)的算法,将L改造为L=(a1,a3,…,an,…,a4,a2)。算法思想:从表尾开始,指针逐渐前移,每隔一个数据元素就将其移到表尾,实现线性表的改造。c++代码如下:#include <iostream>#include <stdlib.h>using namespace std;typedef struct LNode

2020-12-05 21:34:29 421

原创 单向链表改双向链表

单向链表改双向链表-数据结构题目(原题来自严蔚敏老师教材习题册2.32)题目:已知有一个单向循环链表,其每个结点中含三个域:prior,data和next,其中data为数据域,next为指向后继结点的指针域,prior也为指针域,但它的值为空(NULL),试编写算法将此单向循环链表改为双向循环链表,即使prior成为指向前驱结点的指针域。算法思想:先建立一个单链表,然后写一个函数,将prior指针指向它的前驱元素即可完成修改。c++代码如下:#include <iostream>

2020-12-05 21:31:17 2664

原创 找出n个数中相差最小两个数,并输出其差值的绝对值

求n个数中最小差值绝对值-数据结构题目题目:给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。算法思想:用比较的方法,通过差值的计算,逐个数据地找出与当前元素数据差值最小的元素,再将差值的绝对值返回。c++代码如下:#include <iostream>#include <stdlib.h>using namespace std;typedef struct LNode{ struct LNode *prior; //指针

2020-12-05 21:29:20 6376

原创 CSP题目:小明分蛋糕

CSP题目:小明分蛋糕-数据结构题目题目:小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k。算法思想:先对蛋糕按重量进行排序,然后依次分发。定义一个中间量计算当前这位朋友拿到的蛋糕重量,当

2020-12-05 21:26:55 666 5

原创 利用栈操作实现八皇后问题求解

利用栈操作实现八皇后问题求解-数据结构题目思路:使用递归思想,每一行逐个位置放入皇后,判断是否冲突,若冲突,则试探下一个位置,若不冲突,则继续下一行的递归,直至全部放置完成。c++代码如下:#include <stdlib.h>#include <iostream>using namespace std;#define StackInitSize 256 //初次分配空间大小 #define StackIncrement 128 //空间分配

2020-12-05 21:24:34 1579 3

原创 链表:删除A表中既在B表出现又在C表出现的元素

删除A表中既在B表出现又在C表出现的元素数据结构题目题目:已知A,B和C为三个递增有序的线性表,现要求对A表作如下操作:删去那些既在B表中出现又在C表中出现的元素。试对链表编写实现上述操作的算法,请释放A表中的无用结点空间,并分析你的算法的时间复杂度(注意:题中没有特别指明同一表中的元素值各不相同)。算法思想:先比较B表和C表,找到同样的元素并存入数组中,再遍历A表,比较是否有元素和数组中的元素相同,若相同,则删除该元素,即释放元素结点。题目来自数据结构严蔚敏教材习题集2.30。c++代码如下:

2020-11-14 18:36:02 1702

原创 顺序表:删除A表中既在B表出现又在C表出现的元素

删除A表中既在B表中出现又在C表中出现的元素数据结构题目题目:已知A,B和C为三个递增有序的线性表,现要求对A表作如下操作:删去那些既在B表中出现又在C表中出现的元素。试对顺序表编写实现上述操作的算法,并分析你的算法的时间复杂度(注意:题中没有特别指明同一表中的元素值各不相同)。算法思想:先比较B表和C表,找到同样的元素并存入数组中,再遍历A表,比较是否有元素和数组中的元素相同,若相同,则删除该元素。题目来自数据结构严蔚敏教材习题集2.29。c++代码如下:#include <iostre

2020-11-14 18:30:17 2025

原创 链表:由两个递增有序线性表A、B归并新的递减有序线性表C

由两个递增有序线性表A、B归并新的递减有序线性表C数据结构题目严蔚敏版数据结构教材题集2.24假设有两个按元素值递增有序排列的线性表A和B,均以单链表作存储结构,请编写算法将A表和B表归并成一个按元素值递减有序(即非递增有序,允许表中含有值相同的元素)排列的线性表C,并要求利用原表(即A表和B表)的结点空间构造C表。此题的算法思想为:首先将B表连接到A表后面,即连接后的A表为新的C表,再进行递减有序的排序。c++代码如下:#include <iostream>#include &l

2020-11-14 15:06:10 1922

原创 CSP题目:小H小W买菜装车聊天时间

小H小W买菜装车聊天时间CSP题目问题描述:小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁边的一个广场把菜装上车,两人都要买n种菜,所以也都要装n次车。具体的,对于小H来说有n个不相交的时间段[a1,b1],[a2,b2]…[an,bn]在装车,对于小W来说有n个不相交的时间段[c1,d1],[c2,d2]…[cn,dn]在装车。其中,一个时间段[s, t]表示的是从时刻s到时刻t这段时间,时长为t-s。  由于他们是好朋友,他们都在广场上装车的时候会聊天,他

2020-11-14 14:55:24 575

原创 CSP题目:小明种苹果树

小明种苹果树CSP题目题目描述:小明在他的果园里种了一些苹果树,这些苹果树排列成一个圆。为了保证苹果的品质,在种植过程中要进行疏果操作。为了更及时地完成疏果操作,小明会不时地检查每棵树的状态,根据需要进行疏果。检查时,如果发现可能有苹果从树上掉落,小明会重新统计树上的苹果个数(然后根据之前的记录就可以判断是否有苹果掉落了)。在全部操作结束后,请帮助小明统计相关的信息。输入格式:从标准输入读入数据。第1行包含一个正整数N,表示苹果树的棵数。第1+i行(1≤i≤N),每行的格式为mi,ai1,ai2

2020-11-14 14:51:16 1244 1

原创 链表实现约瑟夫环问题求解

约瑟夫环问题数据结构题目:输入正整数n、m(m<n),设有n个人坐成一圈,从第1个人开始循环报数,报到m的人出列,然后再从下一个人开始报数,报到m的人又出列,如此重复,直到所有的人都出列为止。要求用链式结构实现,按出列的先后顺序输出每个人的信息。c++代码如下:#include <iostream>#include <stdlib.h>using namespace std;typedef struct LNode{ char data;

2020-11-14 14:47:30 361

原创 顺序结构实现约瑟夫环问题求解

约瑟夫环问题数据结构题目:输入正整数n、m(m<n),设有n个人坐成一圈,从第1个人开始循环报数,报到m的人出列,然后再从下一个人开始报数,报到m的人又出列,如此重复,直到所有的人都出列为止。要求用顺序结构实现,按出列的先后顺序输出每个人的信息。c++代码如下:#include <iostream>#include <stdlib.h>using namespace std;#define ListInitSize 256 //初次分配空间大小 #d

2020-11-14 14:46:26 1614

原创 链表实现并集且元素递减有序,互不相同

设线性表A、B,元素值为整型,且递减有序,编写函数,实现下列功能:采用链式结构,要求在A的空间上构成一个新线性表C,其元素为A和B元素的并集,且表C中的元素值递减有序(互不相同)。数据结构题目C++代码实现如下:#include <iostream>#include <stdlib.h>using namespace std;typedef struct LNode{ int data; //数据域 struct LNode *next;

2020-11-11 16:52:27 450

原创 顺序表实现并集且元素递减有序,互不相同

设线性表A、B,元素值为整型,且递减有序,编写函数,实现下列功能:采用顺序结构,要求在A的空间上构成一个新线性表C,其元素为A和B元素的并集,且表C中的元素值递减有序(互不相同)。数据结构题目c++代码如下:#include <iostream>#include <stdlib.h>using namespace std;#define ListInitSize 16 //初次分配空间大小 #define ListIncrement 8 //

2020-11-08 19:28:47 661

原创 链式结构的选择、冒泡排序

设元素值为整型的线性表L,采用链式结构存储,编写函数,分别用选择/冒泡排序算法实现线性表的表排序。数据结构题目冒泡排序:#include <iostream>#include <stdlib.h>using namespace std;typedef struct LNode{ int data; //数据域 struct LNode *next; //指针域 } LNode, *LinkList;typedef struct

2020-11-08 16:25:20 1348 2

原创 顺序表的选择、冒泡排序

设元素值为整型的线性表L,采用顺序结构存储,编写函数,分别用选择/冒泡排序算法实现线性表的表排序。数据结构题目冒泡排序:#include <iostream>#include <stdlib.h>using namespace std;#define ListInitSize 256 //初次分配空间大小 #define ListIncrement 128 //空间分配增量大小 typedef struct List{ int *pDat

2020-11-08 16:22:08 1609

原创 CSP题目:跳一跳小游戏

CSP 题目问题描述:近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱。  简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。  如果跳到了方块上,但没有跳到方块的中心则获得1分;跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次跳跃则此次得分为2分,否则此次得分比上一次得分多两分(即连续跳到方块中心时,总得分将+2,+4,+6,+8…)。  现在给出一个人跳一跳的全过程,请你求出他本局游戏的得分(按照题目描述的规则)。输入格式:  输入包含

2020-11-08 16:13:46 652 1

原创 CSP题目:计算小明回家所需时间

CSP 题目问题描述:一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光明”终端,看到了出发时刻路上经过的所有红绿灯的指示状态。请帮忙计算小明此次回家所需要的时间。输入格式:  输入的第一行包含空格分隔的三个正整数 r、y、g,表示红绿灯的设置。这三个数均不超过 106。  输入的第二行包含一个正整数 n,表示小明总共经过的道路段数和路过的红绿灯数目。  接下来的 n 行,每行包含空格分隔的两个整数 k、t。k=0 表示经过了一段道路

2020-11-05 14:04:47 930

原创 利用原空间,删除重复的元素值-链式结构

设线性表L,元素值为整型的且存在相同值,采用链式结构存储,编写函数,利用原空间,删除重复的元素值-数据结构题目C++代码如下: #include <iostream>#include <stdlib.h>using namespace std;typedef struct LNode{ int data; //数据域 struct LNode *next; //指针域 } LNode, *LinkList;typedef st

2020-11-04 16:57:05 353

原创 利用原空间,删除重复的元素值-顺序结构

设线性表L,元素值为整型的且存在相同值,采用顺序结构存储,编写函数,利用原空间,删除重复的元素值-数据结构题目C++代码如下:#include <iostream>#include <stdlib.h>using namespace std;#define ListSize 16 //分配空间大小 typedef struct List{ int *pData; //动态存储空间的基地址 int length;

2020-11-04 16:51:31 213

原创 线性表的逆置-链式结构

线性表的逆置-链式结构数据结构题目设元素值为整型的线性表L,采用链式结构存储,编写函数,实现线性表的就地逆置C++代码如下:#include <iostream>#include <stdlib.h>using namespace std;typedef struct LNode{ int data; //数据域 struct LNode *next; //指针域 } LNode, *LinkList;typedef str

2020-11-03 21:39:33 3527

原创 线性表的逆置-顺序结构

设元素值为整型的线性表L,分别采用顺序结构和链式结构存储,编写函数,实现线性表的就地逆置

2020-11-03 21:36:57 1445

原创 编程实现 ADT List 基本操作13个(二)链式结构

编程实现 ADT List 基本操作13个(二)ADT List如下ADT List{ 数据对象:D = {ai|ai∈ElemSet,i=1, 2, …, n, n≥0} 数据关系:R = {<ai-1, a>|ai-1, ai∈D, i=2, …, n} 基本操作: //1.初始化、销毁和清空操作 InitList( &L ) 操作结果:构造一个空的线性表L DestroyList( &L ) 初始条件:线性表L已存在 操作结果:销毁线性

2020-11-01 15:11:00 1060

原创 编程实现ADT List 基本操作13个(一)顺序结构

编程实现 ADT List 基本操作13个(一)ADT List如下ADT List{ 数据对象:D = {ai|ai∈ElemSet,i=1, 2, …, n, n≥0} 数据关系:R = {<ai-1, a>|ai-1, ai∈D, i=2, …, n} 基本操作: //1.初始化、销毁和清空操作 InitList( &L ) 操作结果:构造一个空的线性表L DestroyList( &L ) 初始条件:线性表L已存在 操作结果:销毁线性

2020-11-01 15:03:49 3784 2

空空如也

空空如也

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

TA关注的人

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