停车场项目
来源:互联网 发布:装修设计师软件 编辑:程序博客网 时间:2024/04/27 05:43
停车场项目需求
问题描述:停车场是一个能放 n 辆车的狭长通道,只有一个大门,汽车按到达的先后次序停放。若车场满了,车要停在门外的便道上等候,一旦有车走,则便道上第一辆车进入。当停车场中的车离开时,由于通道窄,在它后面的车要先退出,待它走后在依次进入。汽车离开时按停放时间收费。
基本功能要求:
(1)建立三个数据结构分别是:停放栈、让路栈、等候队列。
(2)输入数据模拟管理过程,数据(入或出,车号)
功能描述:进车登记、出车登记、按车牌号查询停车车辆信息、查询出入车记录、 查询场内车辆信息、查询等候车辆信息、退出系统。
(1)linux系统编写(链表、栈、队列);
(2)进车登记:登记车牌号以及入场时间;
(3)出车登记:计算出停车时间,记录车辆车牌;
(4)按车牌号查询车辆信息:停车时间,是否来过停车场,是否还在停车场;
(5)查询出入记录:所有车辆,包括已经离开的;
(6)查询场内车辆信息:列出所有场内车辆信息;
(7)查询等候车辆信息:显示等候车辆数量以及所有车牌号;
(8)退出系统。
头文件
#ifndef _HEADER_H_#define _HEADER_H_#define color_none "\033[0m"#define color_red "\033[1;5;31m"#define color_purple "\033[1;5;35m"#define success 100001#define failure 100000#define MAXSIZE 3typedef int elem_type;struct node{ elem_type data; int tm_sec; int tm_min; int tm_hour; int sec; int min; int hour; struct node *next;};typedef struct node Node;typedef Node *link_node;struct queue{ link_node front; link_node rear;};typedef struct queue queue;typedef struct sqStack{ int data[MAXSIZE]; int tm_sec[MAXSIZE]; int tm_min[MAXSIZE]; int tm_hour[MAXSIZE]; int top; }stack; void show(); void PrintInfo(); int init_queue(queue *q); int init_stack(stack *s); int list_init(link_node *list); int push_stack(stack *s); int traversal_stack(stack s); int search_stack(stack s); int search_node(link_node n, elem_type e); int enter_queue(queue *q, elem_type e); int delete_queue(stack *s, queue *q); int traversal_queue(queue q); int pop_top(stack *s, link_node *list); int pop_stack(stack *s, link_node *list); int transfer_stack_1(stack *s1, stack *s2, elem_type e); int transfer_stack_2(stack *s1, stack *s2); int all_in_out(stack s, link_node n);#endif
主函数
#include <stdio.h>#include "header.h"#include <stdlib.h>int main(){ char num[10]; char enter[10]; int ret ; queue wa_queue; stack s1, s2; link_node n; ret = init_queue(&wa_queue); if(failure == ret) { printf("init_queue failure!!!\n"); } ret = init_stack(&s1); if(failure == ret) { printf("init s1 failure!!!\n"); } ret = init_stack(&s2); if(ret == failure) { printf("init s2 failure!!!\n"); } ret = list_init(&n); if(ret == failure) { printf("init n failure!!!\n"); } show(); while(1) { PrintInfo(); fgets(num, 2, stdin); switch(num[0]) { case '1': { ret = push_stack(&s1); if(ret == success) { printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t停车成功!!!\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } else { printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf(color_red"\t\t\t\t\t停车场已满!!!\n"color_none); ret = enter_queue(&wa_queue, ret); if(failure == ret) { printf("\t\t\t\t\t车辆进入等待队列失败!!!\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } else { printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf(color_purple"\t\t\t\t\t车辆进入等待队列!!!\n"color_none); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } } break; } case '2': { getchar(); ret = traversal_stack(s1); if(failure == ret) { printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf(color_red"\t\t\t\t\t**没有车辆信息!!!\n"color_none); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t*************请按回车键进入界面*************\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } else { printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t*************请按回车键进入界面*************\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } break; } case '3': { ret = search_stack(s1); if(success == ret) { printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t*************请按回车键进入界面*************\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } else { ret = search_node(n, ret); if(failure == ret) { printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf(color_red"\t\t\t\t\t**没有这个车辆!!!\n"color_none); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t*************请按回车键进入界面*************\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } else { printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t*************请按回车键进入界面*************\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } } break; } case '4': { ret = pop_top(&s1, &n); if(failure == ret) { printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf(color_red"\t\t\t\t\t**没有这个车辆!!!\n"color_none); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t*************请按回车键进入界面*************\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } else if(success == ret) { delete_queue(&s1, &wa_queue); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf(color_red"\t\t\t\t\t**出车成功!!!\n"color_none); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t*************请按回车键进入界面*************\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } else { transfer_stack_1(&s1, &s2, ret); ret = pop_stack(&s1, &n); transfer_stack_2(&s1, &s2); if(success == ret) { delete_queue(&s1, &wa_queue); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf(color_red"\t\t\t\t\t**出车成功!!!\n"color_none); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t*************请按回车键进入界面*************\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } } break; } case '5': { getchar(); ret = all_in_out(s1, n); if(failure == ret) { printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf(color_red"\t\t\t\t\t**没有车辆信息!!!\n"color_none); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t*************请按回车键进入界面*************\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } else { printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t*************请按回车键进入界面*************\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } break; } case '6': { getchar(); ret = traversal_queue(wa_queue); if(failure == ret) { printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf(color_red"\t\t\t\t\t**没有等待车辆!!!\n"color_none); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t*************请按回车键进入界面*************\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } else { printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t*************请按回车键进入界面*************\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } } break; } case '7': { exit(1); } case 10: //回车键 { system("clear"); break; } default: { printf(color_red"\t\t\t\t\t**Unkown Input!\n"color_none); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t*************请按回车键进入界面*************\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); } break; } } } return 0;}
接口
#include <stdio.h>#include <stdlib.h>#include "header.h"#include <time.h>void show(){ char enter[10]; system("clear"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t##############################################\n"); printf("\t\t\t\t\t#********************************************#\n"); printf("\t\t\t\t\t# #\n"); printf("\t\t\t\t\t#********************************************#\n"); printf("\t\t\t\t\t# #\n"); printf("\t\t\t\t\t#***************"); printf(color_red"欢迎进入停车场"color_none); printf("***************#\n"); printf("\t\t\t\t\t# #\n"); printf("\t\t\t\t\t#********************************************#\n"); printf("\t\t\t\t\t# #\n"); printf("\t\t\t\t\t#********************************************#\n"); printf("\t\t\t\t\t# #\n"); printf("\t\t\t\t\t#*************"); printf(color_purple"请按回车键进入界面"color_none); printf("*************#\n") ; printf("\t\t\t\t\t# #\n"); printf("\t\t\t\t\t#********************************************#\n"); printf("\t\t\t\t\t##############################################\n"); fgets(enter, 2, stdin); if (enter[0] == 10) { system("clear"); }}void PrintInfo(){ printf("\t\t\t\t\t###############################################\n"); printf("\t\t\t\t\t# #\n"); printf("\t\t\t\t\t# 1.进车登记 2.显示场内车辆信息 #\n"); printf("\t\t\t\t\t# #\n"); printf("\t\t\t\t\t# 3.查询停车车辆信息 4.出车登记 #\n"); printf("\t\t\t\t\t# #\n"); printf("\t\t\t\t\t# 5.查询出入车记录 6.查询等候车辆信息 #\n"); printf("\t\t\t\t\t# #\n"); printf("\t\t\t\t\t# 7.退出系统 #\n"); printf("\t\t\t\t\t# #\n"); printf("\t\t\t\t\t#*********************************************#\n"); printf("\t\t\t\t\t# #\n"); printf("\t\t\t\t\t#****************"); printf(color_red"按回车键清屏"color_none); printf("*****************#\n"); printf("\t\t\t\t\t# #\n"); printf("\t\t\t\t\t#*********************************************#\n"); printf("\t\t\t\t\t# #\n"); printf("\t\t\t\t\t#请输入选项:");}int init_queue(queue *q){ q->front = (link_node)malloc(sizeof(Node)); if(NULL == q->front) { return failure; } q->front->next = NULL; q->rear = q->front; return success;}int init_stack(stack *s){ int i; for(i = 0; i < MAXSIZE; i++) { s->data[i] = 0; } s->top = -1; return success;}int list_init(link_node *list){ (*list) = (link_node)malloc(sizeof(Node)); if(NULL == (*list)) { return failure; } (*list)->next = NULL; return success;}int push_stack(stack *s){ system("clear"); int i = 0; elem_type e; printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t请输入车牌号:"); scanf("%d", &e); getchar(); if(s->top == MAXSIZE -1) { return e; } while(i <= s->top) { if(e == s->data[i]) { printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf(color_red"\t\t\t\t\t车牌号重复,请重新输入:"color_none); scanf("%d", &e); getchar(); i = 0; continue; } i++; } s->top++; s->data[s->top] = e; time_t now; struct tm *tm_now; now = time(NULL); tm_now = localtime(&now); s->tm_sec[s->top] = tm_now->tm_sec; s->tm_min[s->top] = tm_now->tm_min; s->tm_hour[s->top] = tm_now->tm_hour; return success; }int traversal_stack(stack s){ system("clear"); if(s.top == -1) { return failure; } int i; time_t now; struct tm *tm_now; int sec, min, hour; printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t车牌号"); printf("\t入场时间"); printf(" \t停车时间\n" ); for(i = s.top; i >= 0; i--) { now = time(NULL); tm_now = localtime(&now); hour = tm_now->tm_hour - s.tm_hour[i]; min = tm_now->tm_min - s.tm_min[i]; sec = tm_now->tm_sec - s.tm_sec[i]; if(min < 0) { hour = hour - 1; min = min + 60; } if(sec < 0) { min = min - 1; sec = sec + 60; } printf("\t\t\t\t\t%d", s.data[i]); printf("\t%d:%d:%d", s.tm_hour[i], s.tm_min[i], s.tm_sec[i]); printf(" \t%d时%d分%d秒\n", hour, min, sec); } printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t场内车辆:%d 辆\n", s.top + 1); return success;}int search_stack(stack s){ system("clear"); elem_type e; int i; time_t now; struct tm *tm_now; int sec, min, hour; printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t请输入车牌号:"); scanf("%d", &e); getchar(); for(i = s.top; i >= 0; i--) { if(s.data[i] == e) { now = time(NULL); tm_now = localtime(&now); hour = tm_now->tm_hour - s.tm_hour[i]; min = tm_now->tm_min - s.tm_min[i]; sec = tm_now->tm_sec - s.tm_sec[i]; if(min < 0) { hour = hour - 1; min = min + 60; } if(sec < 0) { min = min - 1; sec = sec + 60; } printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf(color_red"\t\t\t\t\t还在停车场内!\n"color_none); printf("\t\t\t\t\t车牌号"); printf("\t入场时间"); printf(" \t停车时间\n" ); printf("\t\t\t\t\t%d", s.data[i]); printf("\t%d:%d:%d", s.tm_hour[i], s.tm_min[i], s.tm_sec[i]); printf(" \t%d时%d分%d秒\n", hour, min, sec); return success; } } return e; }int search_node(link_node n, elem_type e){ system("clear"); link_node p = n->next; int sec, min, hour; while(p != NULL) { if(p->data == e) { hour = p->hour - p->tm_hour; min = p->min - p->tm_min; sec = p->sec - p->tm_sec; if(min < 0) { hour = hour - 1; min = min + 60; } if(sec < 0) { min = min - 1; sec = sec + 60; } printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf(color_red"\t\t\t\t\t来过停车场\n"color_none); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t车牌号"); printf("\t进场时间"); printf("\t离开时间:"); printf(" \t停车时间\n" ); printf("\t\t\t\t\t%d", p->data); printf("\t%d:%d:%d", p->tm_hour, p->tm_min, p->tm_sec); printf("\t%d:%d:%d", p->hour, p->min, p->sec); printf(" \t%d时%d分%d秒", hour, min, sec); return success; } p = p->next; } return failure;}int enter_queue(queue *q, elem_type e){ time_t now; struct tm *tm_now; link_node p = (link_node)malloc(sizeof(Node)); if(NULL == p) { return failure; } now = time(NULL); tm_now = localtime(&now); p->data = e; p->tm_hour = tm_now->tm_hour; p->tm_min = tm_now->tm_min; p->tm_sec = tm_now->tm_sec; p->next = NULL; q->rear->next = p; q->rear = p; return success;}int delete_queue(stack *s, queue *q){ time_t now; struct tm *tm_now; now = time(NULL); tm_now = localtime(&now); link_node p = q->front->next; if(p == NULL) { return failure; } if(q->front->next == q->rear) { s->top++; s->data[s->top] = p->data; s->tm_sec[s->top] = tm_now->tm_sec; s->tm_min[s->top] = tm_now->tm_min; s->tm_hour[s->top] = tm_now->tm_hour; q->rear = q->front; q->front->next = NULL; free(p); return success; } else { s->top++; s->data[s->top] = p->data; s->tm_sec[s->top] = tm_now->tm_sec; s->tm_min[s->top] = tm_now->tm_min; s->tm_hour[s->top] = tm_now->tm_hour; q->front->next = p->next; free(p); return success; }}int traversal_queue(queue q){ system("clear"); link_node p = q.front->next; time_t now; struct tm *tm_now; int hour, min, sec; int count = 0; if(p == NULL) { return failure; } printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t车牌号"); printf("\t进入等待时间"); printf(" \t已等待时间\n"); while(p != NULL) { now = time(NULL); tm_now = localtime(&now); hour = tm_now->tm_hour - p->tm_hour; min = tm_now->tm_min - p->tm_min; sec = tm_now->tm_sec - p->tm_sec; if(min < 0) { hour = hour - 1; min = min + 60; } if(sec < 0) { min = min - 1; sec = sec + 60; } count++; printf("\t\t\t\t\t%d", p->data); printf("\t%d:%d:%d", p->tm_hour, p->tm_min, p->tm_sec); printf(" \t%d时%d分%d秒\n", hour, min, sec); p = p->next; } printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t等待车辆:%d 辆\n", count); return success;}int pop_top(stack *s, link_node *list){ system("clear"); int i = s->top; link_node p = *list; link_node n = (link_node)malloc(sizeof(Node)); time_t now; struct tm *tm_now; elem_type e; printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t \n"); printf("\t\t\t\t\t############################################\n"); printf("\t\t\t\t\t请输入车牌号:"); scanf("%d", &e); getchar(); while(i >= 0) { if(s->data[i] == e && i == s->top) { now = time(NULL); tm_now = localtime(&now); n->data = s->data[s->top]; n->tm_hour = s->tm_hour[s->top]; n->tm_min = s->tm_min[s->top]; n->tm_sec = s->tm_sec[s->top]; n->hour = tm_now->tm_hour; n->min = tm_now->tm_min; n->sec = tm_now->tm_sec; s->top--; while(p->next != NULL) { p = p->next; } n->next = p->next; p->next = n; return success; } else if(s->data[i] == e && i != s->top) { return i; } i--; } return failure;}int pop_stack(stack *s, link_node *list){ int i = s->top; link_node p = *list; link_node n = (link_node)malloc(sizeof(Node)); time_t now; struct tm *tm_now; now = time(NULL); tm_now = localtime(&now); n->data = s->data[s->top]; n->tm_hour = s->tm_hour[s->top]; n->tm_min = s->tm_min[s->top]; n->tm_sec = s->tm_sec[s->top]; n->hour = tm_now->tm_hour; n->min = tm_now->tm_min; n->sec = tm_now->tm_sec; s->top--; while(p->next != NULL) { p = p->next; } n->next = p->next; p->next = n; return success;}int transfer_stack_1(stack *s1, stack *s2, elem_type e){ while(s1->top != e) { s2->top++; s2->data[s2->top] = s1->data[s1->top]; s2->tm_sec[s2->top] = s1->tm_sec[s1->top]; s2->tm_min[s2->top] = s1->tm_min[s1->top]; s2->tm_hour[s2->top] = s1->tm_hour[s1->top]; s1->top--; } return success;}int transfer_stack_2(stack *s1, stack *s2){ while(s2->top != -1) { s1->top++; s1->data[s1->top] = s2->data[s2->top]; s1->tm_sec[s1->top] = s2->tm_sec[s2->top]; s1->tm_min[s1->top] = s2->tm_min[s2->top]; s1->tm_hour[s1->top] = s2->tm_hour[s2->top]; s2->top--; } return success;}int all_in_out(stack s, link_node n){ system("clear"); link_node p = n->next; if(s.top == -1 && p == NULL) { return failure; } int i; time_t now; struct tm *tm_now; int sec, min, hour; printf("\t\t\t\t\t############################################\n"); printf(color_red"\t\t\t\t\t场内车辆:\n"color_none); printf("\t\t\t\t\t********************************************\n"); printf("\t\t\t\t\t车牌号"); printf("\t入场时间"); printf(" \t停车时间\n" ); for(i = s.top; i >= 0; i--) { now = time(NULL); tm_now = localtime(&now); hour = tm_now->tm_hour - s.tm_hour[i]; min = tm_now->tm_min - s.tm_min[i]; sec = tm_now->tm_sec - s.tm_sec[i]; if(min < 0) { hour = hour - 1; min = min + 60; } if(sec < 0) { min = min - 1; sec = sec + 60; } printf("\t\t\t\t\t%d", s.data[i]); printf("\t%d:%d:%d", s.tm_hour[i], s.tm_min[i], s.tm_sec[i]); printf(" \t%d时%d分%d秒\n", hour, min, sec); } printf("\t\t\t\t\t############################################\n"); printf(color_red"\t\t\t\t\t已离开车辆:\n"color_none); printf("\t\t\t\t\t********************************************\n"); printf("\t\t\t\t\t车牌号"); printf("\t进场时间"); printf(" \t离开时间"); printf(" \t停车时间\n" ); while(p != NULL) { hour = p->hour - p->tm_hour; min = p->min - p->tm_min; sec = p->sec - p->tm_sec; if(min < 0) { hour = hour - 1; min = min + 60; } if(sec < 0) { min = min - 1; sec = sec + 60; } printf("\t\t\t\t\t%d", p->data); printf("\t%d:%d:%d", p->tm_hour, p->tm_min, p->tm_sec); printf(" \t%d:%d:%d", p->hour, p->min, p->sec); printf(" \t%d时%d分%d秒\n", hour, min, sec); p = p->next; } return success;}
阅读全文
0 0
- 停车场项目
- 项目:停车场
- 停车场项目
- 项目6 -- 停车场模拟
- 智慧云停车场项目
- 项目 6 - 模拟停车场
- c语言停车场项目
- 第七周--项目六--停车场
- 第七周项目6--停车场
- 第七周项目6 停车场
- 小小项目3:停车场管理
- 项目二——停车场
- 数据结构项目二:停车场管理
- 停车场
- 停车场
- 停车场
- 停车场
- 停车场
- mvn 编译错误java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter. <init>(Z)V
- 回忆JAVA之循环结构
- 福利 | Python 物联网全栈开发实践
- 高级网络管理
- 这几个excel神操作,让你从入门到大神 ,涨完工资再来谢我……
- 停车场项目
- 服务器上的 Git
- Java递归示例2:实现区域树
- 使用maven构建 ssm项目 tomcat7插件运行报错, Invalid byte tag in constant pool: 60
- java连接Oracle更改语言环境,语言版本切换
- LeetCode-Easy刷题(16) Climbing Stairs
- payload请求
- 两个栈实现一个队列和两个队列实现一个栈
- 数据结构-循环双链表