C++用链表构建一个停车场计费程序

最近学了一手数据结构,开始试着构建链表的应用。

参考资料:(1)单链表实现的学生管理系统https://blog.csdn.net/y____xiang/article/details/80045000

                  (2)C++如何获取系统时间https://blog.csdn.net/chen134225/article/details/79396149

#include<iostream>
#include<string>
#include<time.h>
using namespace std;
#pragma warning(disable:4996)
struct Carinfo {//车辆信息存储结构
    int len = 0;
    char carname[20];
    double dur = 0.0;
    double start = 0.0;
    double end = 0.0;
    int inyear; int inmonth; int inday;
    int inhour; int inmin; int insec;
    Carinfo *next;//下一辆车
};
Carinfo* createcarinfo()//构建链表
{
    Carinfo *carinfo = new Carinfo;
    carinfo->next = NULL;
    return carinfo;
}
void gettime(Carinfo*n)//better获取当前时间
{
    struct tm*local;
    time_t t;
    t = time(NULL);
    local = localtime(&t);
    n->inyear = local->tm_year + 1900;
    n->inday = local->tm_mday;
    n->inmonth = local->tm_mon + 1;
    n->inhour = local->tm_hour;
    n->inmin = local->tm_min;
    n->insec = local->tm_sec;
    clock_t start;//计时函数
    start =

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的单向链表程序示例: ```c++ #include <iostream> using namespace std; // 链表节点结构体 struct ListNode { int val; ListNode* next; ListNode(int x) : val(x), next(NULL) {} }; // 打印链表 void printList(ListNode* head) { ListNode* cur = head; while (cur != NULL) { cout << cur->val << " "; cur = cur->next; } cout << endl; } int main() { // 创建链表 ListNode* head = new ListNode(1); ListNode* node1 = new ListNode(2); ListNode* node2 = new ListNode(3); ListNode* node3 = new ListNode(4); head->next = node1; node1->next = node2; node2->next = node3; // 遍历链表 printList(head); // 插入节点 ListNode* newNode = new ListNode(5); newNode->next = node2->next; node2->next = newNode; // 遍历链表 printList(head); // 删除节点 node1->next = node2->next; delete node2; // 遍历链表 printList(head); // 释放内存 delete head; delete node1; delete node3; return 0; } ``` 该程序中,我们定义了一个链表节点结构体 `ListNode`,它包含一个整数值 `val` 和一个指向下一个节点的指针 `next`。我们通过创建节点的方式来创建链表,每个节点的 `next` 指针指向下一个节点。遍历链表时,从头节点开始,沿着每个节点的 `next` 指针依次遍历,打印节点的值。插入节点时,先将新节点的 `next` 指针指向插入位置的下一个节点,再将插入位置的 `next` 指针指向新节点。删除节点时,先将删除位置的前一个节点的 `next` 指针指向删除位置的下一个节点,再释放删除节点的内存。最后,释放链表的内存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值