《《数据结构》实验设计报告-停车场管理系统》由会员分享,可在线阅读,更多相关《《数据结构》实验设计报告-停车场管理系统(28页珍藏版)》请在人人文库网上搜索。

1、数据结构实验设计报告题目: 停车场管理系统 姓名: * 学号: 班级: 学院:计算机科学与技术学院目录一、 问题描述03 二、 问题分析03三、 数据结构描述04四、 算法设计04五、 程序优缺点分析及优化05六、 程序源代码07七、 程序运行结果13八、 心得体会15附一、优化后的程序16附二、优化后程序的运行结果23一、 问题描述 设计一个停车场管理系统。设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在停车场的最北端),若停车场内已停满n辆汽车,则后来的汽车只能在门外的便道上。

2、等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。【基本要求】以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时。

3、间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。【选作内容】(1)两个栈共享空间,思考应开辟数组的空间是多少?(2)汽车可有不同种类,则他们的占地面积不同,收费标准也不同,如1辆客车和1.5辆小汽车的占地面积相同,1辆十轮卡车占地面积相当于3辆小汽车的占地面积。(3)汽车可以直接从便道上开走,此时排在它前面的汽车要先开走让路,然后再依次排到队尾。二、问题分析 该问题需要以栈和队列作为基本的存储结构,以顺序栈模拟停车场,以链队列模拟车场外的便道。汽车进入停车场,即是在顺序栈上执行进栈操作,退出停车场即是在顺序栈上执行出栈操作;汽车进入便道,即是在链队列上执行入。

4、队操作,退出便道即是在链队列上执行出队操作。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场。设要删除的元素在顺序表St中位置为i,则从i到top之间的全部元素进入到一个临时栈St1中, 其次再删除该元素,然后将临栈St1的元素按照“先进后出”的原则重新回到St中。若链队不空,则使队头进栈St,并以当前时刻开始计费。程序需要构造两个顺序栈St和St1,其中St用于模拟停车场,St1用作临时栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车。此外还需要构造一个链队列Qu用于模拟便道。三、 数据结构描述/*定义顺序栈类型*/ t。

5、ypedef struct int CarNoN;/*车牌号*/int CarTimeN;/*进场时间*/int top;/*栈指针*/ SqStack;/*定义顺序栈类型*/*定义链队类型*/typedef struct qnodeint CarNo; /*车牌号*/struct qnode *next; QNode;typedef structQNode *front; /*队首和队尾指针*/QNode *rear; LiQueue;四、 算法设计1. 对于子函数模块,则调用顺序栈的基本操作和链队列的基本操作。如下:/*顺序栈的基本运算算法*/void InitStack(SqStack 。

6、*&s)int StackEmpty(SqStack *s)int StackFull(SqStack *s)/*S中的插入新元素*/int Push(SqStack *&s,int e1,int e2)/*删除S的栈顶元素,并用e1,e2返回其值*/int Pop(SqStack *&s,int &e1,int &e2)void DispStack(SqStack *s)/*以下为链队列的基本运算算法*/void InitQueue(LiQueue *&q)int QueueLength(LiQueue *q)int QueueEmpty(LiQueue *q)void enQueue(Li。

7、Queue *&q, int e) int deQueue(LiQueue *&q,int &e)void DisplayQueue(LiQueue *q)2.主程序模块void main()初始化;do 接受命令;处理命令; while(命令!=”退出”);五、 程序优缺点分析及优化1.程序的优点在程序中设置了kind变量,用于保存车的类别,便于计算不同类别车的停车费用,如下程序段:printf(n请输入车的类别【车的类别:1.代表小汽车 2.代表客车 3.代表卡车】:n);scanf(%d,&kind);其中kind可取值1,2,3;若kind取2,则表示一辆客车单位时间内的停车费用是一辆。

8、小汽车的2倍,若kind取3,则表示一辆卡车单位时间内的停车费用是一辆小汽车的3倍。当然printf(n请输入车的类别【车的类别:1.代表小汽车 2.代表客车 3.代表卡车】:n);中的1.2.3也可以根据实际情况改变。比如,若实际中,一辆小汽车单位时间内的停车费用是一辆客车的2倍,一辆卡车单位时间内的停车费用是一辆客车的4倍,则可以改成:printf(n请输入车的类别【车的类别:1.代表客车2.代表小汽车 4.代表卡车】:n); 则kind可取值1,2,4; kind取1时对应的是客车,表示计算停车费用时以一辆客车单位时间内的停车费用为基数,若kind取2,则表示一辆小汽车单位时间内的停车费。

9、用是一辆客车的2倍,若kind取4,则表示一辆卡车单位时间内的停车费用是一辆客车的4倍。 2.程序的缺点(1)输入时间时,程序没有检测错误功能程序的输入形式如下:设n=2,输入数据为:(A,1,5),(A,2,10),(D,1,15),(A,3,20),(A,4,25),(A5,30),(D,2,35),(D,4,40),(E,0,0)。其中:A表示到达(arrival);D表示离去(departure);E表示输出结束(end)。设每个输入项的形式为(Choose, CarNumber, Time),其中Choose表示每个括号中的第一项数据,即A/D/E; CarNumber表示每个括号中。

10、的第二项,即1/2/3;Time表示每个括号中的第三项,即5/10/15。设前后两次输入的数据中的第三项分别为Time1, Time2;则必须满足Time2Time1。而在实际输入过程中用户可能会忽略这一点,所以应该在输入Time是设置一个判断语句,若前后两次输入的Time不满足Time2Time1,则要求用户重新输入,直至满足要求为止。(2)程序的界面不够清晰,一次性输入的数据项比较多,容易出错。3.改进思想(1)为了保证前后两次输入的Time必须满足Time2Time1,使程序具有错误检测功能,在程序输入部分添加了如下代码:printf(输入现在的时刻:n);scanf(%d,&time2。

11、);while(time2#include #define N 2/*停车场内最多的停车数*/#define Price 2/*每单位停车费用*/typedef struct int CarNoN;/*车牌号*/int CarTimeN;/*进场时间*/int top;/*栈指针*/ SqStack;/*定义顺序栈类型*/*定义链队类型*/typedef struct qnodeint CarNo; /*车牌号*/struct qnode *next; QNode;typedef structQNode *front; /*队首和队尾指针*/QNode *rear; LiQueue;/*顺序栈。

12、的基本运算算法*/void InitStack(SqStack *&s)s=(SqStack *)malloc(sizeof(SqStack);s-top=-1;int StackEmpty(SqStack *s)return(s-top=-1);int StackFull(SqStack *s)return(s-top=N-1);/*S中的插入新元素*/int Push(SqStack *&s,int e1,int e2)if (s-top=N-1)return 0;s-top+;s-CarNos-top=e1;s-CarTimes-top=e2;return 1;/*删除S的栈顶元素,并用。

13、e1,e2返回其值*/int Pop(SqStack *&s,int &e1,int &e2)if (s-top=-1)return 0;e1=s-CarNos-top;e2=s-CarTimes-top;s-top-;return 1;void DispStack(SqStack *s)int i;for (i=0;itop;i+)printf(%d ,s-CarNoi);printf(n);/*以下为链队列的基本运算算法*/void InitQueue(LiQueue *&q)q=(LiQueue *)malloc(sizeof(LiQueue);q-front=q-rear=NULL;i。

14、nt QueueLength(LiQueue *q)int n=0;QNode *p=q-front;while (p!=NULL)n+;p=p-next;return(n);int QueueEmpty(LiQueue *q)if (q-rear=NULL)return 1;elsereturn 0;void enQueue(LiQueue *&q, int e) QNode *s;s=(QNode *)malloc(sizeof(QNode);s-CarNo=e;s-next=NULL;if (q-rear=NULL)/*若链队为空,则新结点是队首结点又是队尾结点*/q-front=q-r。

15、ear=s;elseq-rear-next=s; /*将*s结点链到队尾,rear指向它*/q-rear=s;int deQueue(LiQueue *&q,int &e)QNode *t;if (q-rear=NULL)/*队列为空*/return 0;if (q-front=q-rear) /*队列中只有一个结点时*/t=q-front;q-front=q-rear=NULL;else/*队列中有多个结点时*/t=q-front;q-front=q-front-next;e=t-CarNo;free(t);return 1;void DisplayQueue(LiQueue *q)QNod。

16、e *p=q-front;while (p!=NULL)printf(%d ,p-CarNo);p=p-next ;void main()char choose; /*用于选择命令*/int no,e1,time,e2,kind; /*用于存放车牌号、当前停车时刻*/int i,j;SqStack *St,*St1; /*临时栈St1,当停车场中间的车要推出去时,用于倒车*/LiQueue *Qu;InitStack(St);InitStack(St1);InitQueue(Qu);printf(#);printf(n# #);printf(n# 欢迎使用停车场管理系统 #);printf(n。

17、# #);printf(n# 【输入提示】:汽车状态由A、D、E 表示。其中,A:表示汽车到达 D:表示汽车离去, #);printf(n# E:表示输出结束。每次输入的数据由三项构成,即:(汽车状态,车牌号,当前时刻) #);printf(n# 数据项之间以逗号分开。 例如输入示范:A,1,5 #);printf(n#n);printf(n正在读取汽车信息.n);doprintf(n*);printf(n请分别输入汽车状态(A/D/E)、车牌号和当前时刻(数据之间以逗号分开):n);scanf( %c,%d,%d,&choose,&no,&time); switch(choose)/* 汽车。

18、到达 */case A:case a:if (!StackFull(St)/*停车场不满*/Push(St,no,time);printf(该车在停车场中的位置是:%dn,St-top+1);else/*停车场满*/ enQueue(Qu,no);printf(n停车场已满,该车进入便道,在便道中的位置是:%dn,QueueLength(Qu);break;/* 汽车离开 */case D:case d:printf(n请输入车的类别【车的类别:1.代表小汽车 2.代表客车 3.代表卡车】:n);scanf(%d,&kind); for (i=0;itop & St-CarNoi!=no;i+。

19、);if (iSt-top) /*要离开的汽车在便道上*/ /*汽车可以直接从便道上开走,此时排在它前面的汽车要先开走让路,然后再依次排到队尾*/while (Qu-front-CarNo!=no )enQueue(Qu,Qu-front-CarNo );/deQueue(Qu,Qu-front-CarNo );Qu-front =Qu-front-next ;deQueue(Qu,no);printf(n便道上车牌号为%d的汽车已离开!n,no);printf(n当前便道中的车辆的车牌号分别是:);DisplayQueue(Qu);printf(n);else /*要离开的汽车在停车场中*/。

20、for (j=i;jtop;j+)Pop(St,e1,e2); /*e1,e2用来返回被删元素的车牌号和停车时刻*/Push(St1,e1,e2);/*倒车到临时栈St1中,将e1,e2插入到临时栈中*/Pop(St,e1,e2);/*该汽车离开*/printf(n车牌号为%d的汽车停车时间为:%d。停车费用为:%dn,no,time-e2,(time-e2)*Price*kind); /*对小汽车而言:当前时刻 减去 该车当时停车的时刻,再乘以价格就是费用,而对于客车和卡车而言,就要乘以kind倍小汽车的价格*/while (!StackEmpty(St1)/*将临时栈St1重新回到St中*。

21、/Pop(St1,e1,e2);Push(St,e1,e2);if (!QueueEmpty(Qu)/*队不空时,将队头进栈St*/deQueue(Qu,e1);Push(St,e1,time);/*以当前时间开始计费*/printf(n当前停车场中的车辆的车牌号分别是:);/输出停车场中的车辆DispStack(St);break;/* 结束 */case E:case e:printf(n正在退出系统.n);if (!StackEmpty(St) /显示停车场情况printf(n当前停车场中的车辆的车牌号分别是:);/输出停车场中的车辆DispStack(St);printf(n);els。

22、e printf(n当前停车场中无车辆nn);break;/* 结束 */default:/*其他情况*/printf(输入的命令错误!n);break; while(choose!=E&choose!=e);七、 程序运行结果取N=2,即停车场内最多的停车数为2取 Price=2,即每单位停车费用为2输入数据为:(A,1,5),(A,2,10),(D,1,15),(A,3,20),(A,4,25),(A5,30),(D,2,35),(D,4,40),(E,0,0)。程序演示结果如下图所示:八、心得体会(1) 该实验涉及到顺序栈的建立、插入、删除等操作,涉及到了链队列的建立、插入、删除等操作。。

23、 做这个实验,加深了我对以上知识点的认识和理解。 (2) 提高了 C 语言编程的能力。在程序设计过程中,需要经过反复地编写,调试,运行,发现问题并解决问题,在这次实验的设计中,我加深对程序的了解,提高自己的实际动手能力和独立思考的能力同时我也学会了综合以前学到的基本知识来解决较大问题的方法。(3) 一方面我养成了注重程序细节的意识。例如:printf(n请分别输入汽车状态(A/D/E)、车牌号和当前时刻(数据之间以逗号分开):n);scanf( %c,%d,%d,&choose,&no,&time); %c,前面必须留一个空格,否则程序在显示的时候就会有一些问题。(4)另一方面我也深刻地认识到。

24、了数据结构这门课程的重要性。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构的研究不仅涉及到计算机硬件的研究,而且和计算机软件的研究有着更密切的关系,无论是编译程序还是操作系统,都涉及到数据元素在存储器中的分配问题。在研究信息检索时也必须 考虑如何组织数据,以便使查找和存取数据元素更为方便。可以认为数据结构是介于数学、计算机硬件和计算机软件三者之间的一个核心内容,是从事计算机科学研究及其应 用的科技工作者必须掌握的重要内容附一、优化后的程序#include #include #define N 2/*停车场内最多的停车数*/#define Price 2/*每单位停车费用*/typ。

25、edef struct int CarNoN;/*车牌号*/int CarTimeN;/*进场时间*/int top;/*栈指针*/ SqStack;/*定义顺序栈类型*/*定义链队类型*/typedef struct qnodeint CarNo; /*车牌号*/struct qnode *next; QNode;typedef structQNode *front; /*队首和队尾指针*/QNode *rear; LiQueue;/*顺序栈的基本运算算法*/void InitStack(SqStack *&s)s=(SqStack *)malloc(sizeof(SqStack);s-to。

26、p=-1;int StackEmpty(SqStack *s)return(s-top=-1);int StackFull(SqStack *s)return(s-top=N-1);/*S中的插入新元素*/int Push(SqStack *&s,int e1,int e2)if (s-top=N-1)return 0;s-top+;s-CarNos-top=e1;s-CarTimes-top=e2;return 1;/*删除S的栈顶元素,并用e1,e2返回其值*/int Pop(SqStack *&s,int &e1,int &e2)if (s-top=-1)return 0;e1=s-Ca。

27、rNos-top;e2=s-CarTimes-top;s-top-;return 1;void DispStack(SqStack *s)int i;for (i=0;itop;i+)printf(%d ,s-CarNoi);printf(n);/*以下为链队列的基本运算算法*/void InitQueue(LiQueue *&q)q=(LiQueue *)malloc(sizeof(LiQueue);q-front=q-rear=NULL;int QueueLength(LiQueue *q)int n=0;QNode *p=q-front;while (p!=NULL)n+;p=p-nex。

28、t;return(n);int QueueEmpty(LiQueue *q)if (q-rear=NULL)return 1;elsereturn 0;void enQueue(LiQueue *&q, int e) QNode *s;s=(QNode *)malloc(sizeof(QNode);s-CarNo=e;s-next=NULL;if (q-rear=NULL)/*若链队为空,则新结点是队首结点又是队尾结点*/q-front=q-rear=s;elseq-rear-next=s; /*将*s结点链到队尾,rear指向它*/q-rear=s;int deQueue(LiQueue *。

29、&q,int &e)QNode *t;if (q-rear=NULL)/*队列为空*/return 0;if (q-front=q-rear) /*队列中只有一个结点时*/t=q-front;q-front=q-rear=NULL;else/*队列中有多个结点时*/t=q-front;q-front=q-front-next;e=t-CarNo;free(t);return 1;void DisplayQueue(LiQueue *q)QNode *p=q-front;while (p!=NULL)printf(%d ,p-CarNo);p=p-next ;printf(n);void mai。

30、n()int choose; /*用于选择命令*/int no,e1,time2,e2,no_away; /*no_away:汽车离开时输入车牌号; time2:当前停车时刻;*/static int time1; /*静态变量time1用于存放上次时刻*/int i,j;int kind; /*车的类别*/time1=time2=0;SqStack *St,*St1; /*临时栈St1,当停车场中间的车要推出去时,用于倒车*/LiQueue *Qu;InitStack(St);InitStack(St1);InitQueue(Qu);printf(#);printf(n# #);printf。

31、(n# 欢迎使用停车场管理系统 #);printf(n# #);printf(n#n);doprintf(n* 主菜单 *n);printf(* 1:车辆到达 *n);printf(* 2:车辆离开 *n);printf(* 3:显示停车场的车辆 *n);printf(* 4:显示便道中的车辆 *n);printf(* 0:退出 *n);printf(*n);printf(请选择:);scanf(%d,&choose); switch(choose)case 1:/#汽车到达#printf(输入输入车牌号、当前时刻(数据之间以逗号隔开):n);scanf(%d,%d,&no,&time2); 。

32、/*依次输入车牌号、当前停车时刻*/while(time2top+1);else /*停车场满*/ enQueue(Qu,no);printf(n停车场已满,该车进入便道,在便道中的位置是:%dn,QueueLength(Qu);break;case 2:/#汽车离开#printf(输入车牌号:n);scanf(%d,&no_away);printf(请输入车的类别【车的类别:1.代表小汽车 2.代表客车 3.代表卡车】:n);scanf(%d,&kind); printf(输入现在的时刻:n); /*现在的时刻time1得大于之前的时刻time1*/scanf(%d,&time2);whil。

33、e(time2top & St-CarNoi!=no_away;i+);if (iSt-top) /*汽车可以直接从便道上开走,此时排在它前面的汽车要先开走让路,然后再依次排到队尾*/ while (Qu-front-CarNo!=no_away )enQueue(Qu,Qu-front-CarNo );Qu-front =Qu-front-next ;deQueue(Qu,no_away);printf(n便道上车牌号为%d的汽车已离开!n,no_away);printf(n当前便道中的车辆的车牌号分别是:);DisplayQueue(Qu);printf(n);elsefor (j=i;j。

34、top;j+)Pop(St,e1,e2); /*e1,e2用来返回被删元素的车牌号和停车时刻*/Push(St1,e1,e2); /*倒车到临时栈St1中,将e1,e2插入到临时栈中*/Pop(St,e1,e2); /*该汽车离开*/printf(n车牌号为%d的汽车停车费用为:%dn,no_away,(time2-e2)*Price*kind); /*对小汽车而言:当前时刻 减去 该车当时停车的时刻,再乘以价格就是费用,而对于客车和卡车而言,就要乘以kind倍小汽车的价格*/while (!StackEmpty(St1) /*将临时栈St1重新回到St中*/Pop(St1,e1,e2);Pu。

35、sh(St,e1,e2);if (!QueueEmpty(Qu) /*队不空时,将队头进栈St*/deQueue(Qu,e1);Push(St,e1,time1); /*以当前时间开始计费*/break;case 3:/#显示停车场情况#if (!StackEmpty(St)printf(当前停车场中的车辆的车牌号分别是:);/*输出停车场中的车辆*/DispStack(St);elseprintf(停车场中无车辆!n);break;case 4:/#显示便道情况#if (!QueueEmpty(Qu)printf( 当前便道中的车辆的车牌号分别是:);/*输出便道中的车辆*/DisplayQ。

36、ueue(Qu);elseprintf(便道中无车辆!n);break;case 0:/# 结束 #printf(n正在退出系统.n);if (!StackEmpty(St)printf(当前停车场中的车辆的车牌号分别是:);/*输出停车场中的车辆*/DispStack(St);if (!QueueEmpty(Qu)printf( 当前便道中的车辆的车牌号分别是:); /*输出便道中的车辆*/DisplayQueue(Qu);break;/*/default:/*其他情况*/printf(输入的命令错误!n);break; while(choose!=0);附二、优化后程序的运行结果取N=2,即停车场内最多的停车数为2取 Price=2,即每单位停车费用为2输入数据为:(A,1,5),(A,2,10),(D,1,15),(A,3,20),(A,4,25),(A5,30),(D,2,35),(D,4,40),(E,0,0)。程序演示结果如下图所示。

java数据结构停车场管理系统_《数据结构》实验设计报告-停车场管理系统相关推荐

  1. 医院药房管理系统_药一点医院HIS管理系统

    药一点医疗管理系统系统介绍 河南药典信息科技有限公司 医院药房管理系统_药一点医院HIS管理系统 产品介绍 1.1.本系统是一款专为医院.门诊部等医疗机构开发的专业医疗管理软件. 1.2.软件提供了全 ...

  2. java对数据结构的了解_数据结构对java有用吗

    设计一个数据结构其实就是把现有的基本数据类型组织.封装起来.相对来说数据结构对于C/C++比较重要,因为JAVA类机制实在太强大了,类库其实可以理解为数据结构的封装.即使对于一些比较复杂的抽象数据类型 ...

  3. python数据结构与算法分析_数据结构和算法分析

    问题引出 假设有一道题目:有一组N个数而要确定其中第k个最大者,我们称之为选择问题,那么这个程序如何编写?最直观地,至少有两种思路: 1.将N个数读入一个数组中,再通过某种简单的算法,比如冒泡排序法, ...

  4. 数据结构迷宫代码_数据结构课程设计——迷宫求解(二)

    前言 接上文的介绍,本文将主要介绍如何生成随机迷宫,在网上找到的资源也比较多,这里我选取了随机 Prim 算法生成迷宫,选择这个算法的理由如下: 算法思想简单,易于实现 生成的迷宫比较自然,不会出现明 ...

  5. java固定资产管理系统_基于jsp的固定资产管理系统-JavaEE实现固定资产管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的固定资产管理系统, 该项目可用各类java课程设计大作业中, 固定资产管理系统的系统架构分为前后台两部分, 最终实 ...

  6. mysql网吧管理系统_基于jsp的网吧管理系统-JavaEE实现网吧管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的网吧管理系统, 该项目可用各类java课程设计大作业中, 网吧管理系统的系统架构分为前后台两部分, 最终实现在线上 ...

  7. java会议管理系统_基于jsp的会议管理系统-JavaEE实现会议管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的会议管理系统, 该项目可用各类java课程设计大作业中, 会议管理系统的系统架构分为前后台两部分, 最终实现在线上 ...

  8. java做同学录管理系统_基于jsp的同学录管理系统-JavaEE实现同学录管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的同学录管理系统, 该项目可用各类java课程设计大作业中, 同学录管理系统的系统架构分为前后台两部分, 最终实现在 ...

  9. java 档案管理系统_基于jsp的档案管理系统-JavaEE实现档案管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的档案管理系统, 该项目可用各类java课程设计大作业中, 档案管理系统的系统架构分为前后台两部分, 最终实现在线上 ...

最新文章

  1. 【Ubuntu】将Ubuntu的源改为国内源
  2. 为什么 Java 线程没有 Running 状态?一下被问懵!
  3. 国内三分之一世界500强企业正布局区块链,区块链风口已经出现
  4. 关机充电如何实现短按pwrkey灭屏
  5. Leetcode12. 整数转罗马数字(C++)
  6. Vitis学习记录(三)
  7. 程序员如何通过书籍学习编程?小心用错方法,不然可能事倍功半!
  8. 各个JSON技术的比较(Jackson,Gson,Fastjson)的对比
  9. Ansible入门使用
  10. ubuntu18.04安装ros-melodic
  11. BZOJ2160 拉拉队排练
  12. 收藏!Solidworks从设计到制造流程解决方案 2022来了!
  13. 算法第四版- 4.3
  14. pyodbc 连接oracle
  15. 日本公司推出第一款MR购物应用,今秋上市
  16. 555定时器与频率测量
  17. Delphi下实现全屏快速找图找色 四、BitmapData.pas的使用
  18. MAR位数反映存储单元的个数笔记
  19. 【Zeekr_Tech】为自动驾驶保驾护航—谈谈主流中间件设计
  20. 前端开发培训哪个比较好

热门文章

  1. 我的产品不需要盈利:战略单品的存在意义
  2. 进入日资企业全攻略(转)
  3. python 京东 价格监控_【Python】京东商品价格监控
  4. Temporal Shift Module(TSM) 部署在自己电脑上并训练自己的数据集
  5. 【pycharm环境搭建(python脚本编辑器)】
  6. 一款针对中小学研发的智慧校园系统源码,智慧学校源码,Java+智慧安防+智慧互联+智慧电子班牌+小程序源码
  7. 车联网上云最佳实践学习笔记
  8. NTLDR is missing 解决方法
  9. 智慧农业物联网平台建设方案
  10. matlab 硬件驱动,基于MATLAB的驱动电路硬件仿真与研究