asp网站开发需要的基本条件南京app研发公司
2026/1/28 1:52:05 网站建设 项目流程
asp网站开发需要的基本条件,南京app研发公司,山东app网站制作,怎样建设门户网站文章目录栈核心操作练习题队列核心操作练习题链表核心操作栈 先进后出 栈是一种限制访问端点的线性表#xff0c;它只允许在表的一端进行插入和删除操作。这一端被称为栈顶#xff0c;另一端称为栈底 就如同一个杯子#xff0c;杯子的顶端相当于栈顶#xff0c;底端就相…文章目录栈核心操作练习题队列核心操作练习题链表核心操作栈先进后出栈是一种限制访问端点的线性表它只允许在表的一端进行插入和删除操作。这一端被称为栈顶另一端称为栈底就如同一个杯子杯子的顶端相当于栈顶底端就相当于是栈底要想把杯子里面的东西取出来只能从杯子的上面往外倒核心操作push入栈、pop出栈、top查看栈顶、size栈的大小、empty栈是否为空C STL中的栈#includebits/stdc.husingnamespacestd;intmain(){stackints;// 入栈操作s.push(1);s.push(2);s.push(3);cout栈大小: s.size()endl;// 3cout栈顶元素: s.top()endl;// 3// 出栈操作s.pop();cout弹出后栈顶: s.top()endl;// 2// 遍历栈while(!s.empty()){couts.top() ;s.pop();}// 输出: 2 1return0;}练习题表达式括号匹配#includebits/stdc.husingnamespacestd;intmain(){string s;cins;intcnt10,cnt20;for(inti0;is.size();i){if(s[i]()cnt1;if(s[i]))cnt2;}if(cnt1!cnt2){coutNOendl;return0;}stackcharstk;for(inti0;is.size();i){if(s[i])){boolf0;while(!stk.empty()){charcstk.top();if(c(){f1;stk.pop();break;}else{stk.pop();}}if(f!1){coutNOendl;return0;}}else{stk.push(s[i]);}}coutYESendl;return0;}队列先进先出队列是一种限制访问端点的线性表它只允许在表的一端进行插入队尾在另一端进行删除队首就像是排队买东西在没有插队的情况下你只能从后面开始排然后从最前面离开核心操作push入队、pop出队、front查看队首、size队列大小、empty队列是否为空C STL中的队列#includebits/stdc.husingnamespacestd;intmain(){queueintq;// 入队操作q.push(1);q.push(2);q.push(3);cout队头元素: q.front()endl;// 1cout队列大小: q.size()endl;// 3// 出队操作q.pop();cout出队后队头: q.front()endl;// 2// 遍历队列while(!q.empty()){coutq.front() ;q.pop();}// 输出: 2 3return0;}练习题【模板】队列#includebits/stdc.husingnamespacestd;intmain(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);intn;cinn;queueintq;while(n--){intt;cint;if(t1){intx;cinx;q.push(x);}elseif(t2){if(q.empty()){coutERR_CANNOT_POP\n;}else{q.pop();}}elseif(t3){if(q.empty())coutERR_CANNOT_QUERY\n;elsecoutq.front()\n;}elseif(t4){coutq.size()\n;}}return0;}链表链表Linked List是一种线性数据结构它由一系列节点Node组成。与数组不同的是链表中的元素在内存中不是连续存储的而是通过指针连接在一起。 火车车厢的比喻想象一列火车每节车厢就是一个节点车厢本身装载货物数据车厢挂钩连接下一节车厢指针车头第一节车厢头指针 HEAD可以随时加挂或卸下车厢插入/删除但要找到第5节车厢必须从车头开始一节一节数过去。链表节点的结构每个链表节点包含两个关键部分┌─────────────┬─────────────┐ │ 数据域 │ 指针域 │ │ Data │ Next → │ └─────────────┴─────────────┘举个例子HEAD头指针 ↓ ┌────┬──┐ ┌────┬──┐ ┌────┬──┐ │ 10 │→ │ → │ 20 │→ │ → │ 30 │∅ │ └────┴──┘ └────┴──┘ └────┴──┘ 节点1 节点2 节点3(尾)代码中的定义是// 链表节点定义structNode{intdata;// 数据域存储实际数据Node*next;// 指针域指向下一个节点};核心操作插入节点在头部插入节点voidinsertAtHead(intval){Node*newNodenewNode(val);// 创建新节点newNode-nexthead;// 新节点指向原头节点headnewNode;// 更新头指针}在尾部插入节点voidinsertAtTail(intval){Node*newNodenewNode(val);if(headnullptr){// 如果链表为空headnewNode;return;}Node*temphead;while(temp-next!nullptr){// 遍历到最后一个节点temptemp-next;}temp-nextnewNode;// 连接新节点}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询