做电商网站用什么系统唐山哪里建设网站

张小明 2026/1/15 22:55:02
做电商网站用什么系统,唐山哪里建设网站,软件开发岗位介绍,小程序注册开发流程1. 队列的概念及结构队列#xff1a;只允许在一端进行插入数据操作#xff0c;在另一端进行删除数据操作的特殊线性表#xff0c;队列具有先进先出 FIFO(First In First Out)。入队列#xff1a;进行插入操作的一端称为队尾。出队列#xff1a;进行删除操作的一端称为队头…1. 队列的概念及结构队列只允许在一端进行插入数据操作在另一端进行删除数据操作的特殊线性表队列具有先进先出 FIFO(First In First Out)。入队列进行插入操作的一端称为队尾。出队列进行删除操作的一端称为队头。队列和栈是有所不同的比如入栈顺序是1 2 3 4但是出栈顺序可以有多种不一定是 1 2 3 4因为它可以边进边出所以是一个一对多的关系而队列的入队列顺序和出队列顺序是一样的是一个一对一的关系正是基于队列的这种性质它可以用于保持公平性例如做一个抽号机比如吃饭排队拿取号码先来的先拿后来的后拿。也可以利用队列来做一个好友推荐广度优先遍历假如要给小徐推荐好友那么就以小徐为起点首先让小徐进入队列然后让小徐出队列第一圈结束的同时让小徐的好友小明和小王入队列这也就意味着当小徐出队列时队列中剩下的都是小徐的朋友然后按照顺序让小明出队列出队列的同时让小明的朋友入队列然后让小王出队列第二圈结束出队列的同时让小王的朋友入队列这时小徐的朋友都出队列了剩下的都是小徐朋友的朋友也就是处于第三圈上的好友这个时候就可以将队列中的好友推荐给小徐不断循环这个步骤就可以一步一步扩大好友圈。2. 队列的功能实现队列也可以数组和链表的结构实现使用链表的结构实现更优一些因为如果使用数组的结构出队列在数组头上出数据效率会比较低。那么确定了使用链表就要考虑是使用双向链表还是单向链表因为双向链表肯定是可以实现队列功能的但是我们优先考虑能不能使用单链表来实现如果单链表能实现就不使用双向链表因为单向链表比双向链表更加节省空间。2.1 一级指针还是二级指针在数据结构的学习中已经讨论过很多次到底是用一级指针还是二级指针的问题我也混淆了很久最简单的记忆方法就是去看你到底要不要去通过形参ppehad改变实参plist若不不想改变实参那形参就直接用一级指针接收即可如果想要通过形参改变实参那么就使用二级指针接收因为只有对二级指针进行一次解引用才能读取到实参部分然后对*pphead的改变就相当于是对plist的改变。在队列的实现中因为队列的本质是单链表我在学习单链表的过程中是使用二级指针来完成相应的功能的在学习双向链表中是使用一级指针来完成相应的功能的这是因为在双向链表中引入了“头节点”也就是“哨兵位”因为指向哨兵位的指针plist是不需要被改变的所以用一级指针接收即可这一点我在双向链表的章节中也提到过所以对于这节中的队列为了避免二级指针的繁琐也直接使用一级指针来接收但是是使用一种新的方式来解决这个问题直接将指向链表头节点和尾节点的指针封装成一个结构体所以想要改变这两个指针就相当于改变这个结构体比如要改变实参int p那形参就传int*p也就是接收整型变量p的地址p要改变实参int* p那就传int** pp也就是接收指针p的地址所以现在要改变实参结构体变量stuct Name p那么形参就传struct Name* p(也就是接收结构体变量p的地址p)这就转化为了只需要传一级指针而不是二级指针。typedef int QDataType; // 链式结构表示队列 typedef struct QListNode { struct QListNode* next; QDataType val; }QNode; // 队列的结构 typedef struct Queue { QNode* phead; QNode* ptail; int size;//存入一个数据就计数一次方便后面计数函数的实现同时也降低了时间复杂度 }Queue; // 初始化队列 void QueueInit(Queue* pq); // 队尾入队列 void QueuePush(Queue* pq, QDataType x); // 队头出队列 void QueuePop(Queue* pq); // 获取队列头部元素 QDataType QueueFront(Queue* pq); // 获取队列队尾元素 QDataType QueueBack(Queue* pq); // 获取队列中有效元素个数 int QueueSize(Queue* pq); // 检测队列是否为空 bool QueueEmpty(Queue* pq); // 销毁队列 void QueueDestroy(Queue* pq);这种方法既避免了传多个参数又避免了传二级指针2.2 队列的初始化代码实现// 初始化队列 void QueueInit(Queue* pq) { assert(pq); pq-phead NULL; pq-ptail NULL; pq-size 0; }2.3 入队列的实现// 队尾入队列 void QueuePush(Queue* pq, QDataType x) { assert(pq); QNode* newnode (QNode*)malloc(sizeof(QNode));//开辟动态空间 if (newnode NULL) { perror(malloc fail); return; } //进行初始化 newnode-val x; newnode-next NULL; //进行插入 if (pq-ptail NULL) { pq-phead pq-ptail newnode; } else { pq-ptail-next newnode; pq-ptail newnode; } pq-size; }2.4 出队列的实现// 队头出队列 void QueuePop(Queue* pq) { assert(pq); assert(pq-size ! 0); //一个节点的情况 if (pq-phead -next NULL) { free(pq-phead);//free的是指针指向的节点而不是释放指针注意区别 pq-phead pq-ptail NULL; } //多个节点的情况 else { QNode* next pq-phead-next; free(pq-phead); pq-phead next; } pq-size--; }注意这里面的free函数释放的是指针所指向的节点的空间也就是malloc动态开辟的内存空间而不是指针pq-phead或者pq-ptail。2.5 队列其他功能的实现// 获取队列头部元素 QDataType QueueFront(Queue* pq) { assert(pq); assert(pq-phead);//头节点如果为NULL说明没有节点存入那读取就没有意义了 return pq-phead-val; } // 获取队列队尾元素 QDataType QueueBack(Queue* pq) { assert(pq); assert(pq-ptail);//尾节点如果为NULL说明没有节点存入那读取就没有意义了 return pq-ptail-val; } // 获取队列中有效元素个数 int QueueSize(Queue* pq) { assert(pq); return pq-size; } // 检测队列是否为空 bool QueueEmpty(Queue* pq) { asswet(pq); return pq-size 0; } // 销毁队列 void QueueDestroy(Queue* pq) { assert(pq); QNode* pcur pq-phead; while (pcur) { QNode* next pcur-next; free(pcur); pcur next; } pq-phead pq-ptail NULL; pq-size0; }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建设人员工资纯净水企业怎样做网站

今天去改了了个bug,看着代码没什么问题,但是打印顺序就是不对,代码如下所示:打印结果:按照await可以将异步代码同步化,第一个打印应该在最后面,同时别的打印应该是按照顺序打印,但是…

张小明 2026/1/13 10:16:59 网站建设

建设银行网站怎么开通手机短信网站怎么不要钱自己做

Kotaemon如何防止敏感信息被意外泄露? 在企业加速拥抱AI的今天,智能对话系统早已不再是简单的问答机器人。从客服到知识管理,从自动化办公到内部决策支持,大语言模型(LLM)正深度嵌入核心业务流程。然而&…

张小明 2026/1/5 2:32:52 网站建设

网站ie兼容性差全屋定制怎么营销

番茄小说下载器终极指南:一键保存完整作品 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 想要永久珍藏喜欢的番茄小说吗?这款功能强大的下载器让您轻松获取完整小说…

张小明 2026/1/4 21:47:50 网站建设

网站模板中心 网站推荐自学编程做点网站赚钱

10 个降AI率工具,自考人必备的高效降AIGC指南 AI降重工具:自考人应对查重的高效利器 在自考论文写作过程中,越来越多的学生开始关注“AIGC率”和“查重率”的问题。随着AI生成内容的普及,许多自考论文在提交前都面临被系统识别为A…

张小明 2026/1/4 17:15:53 网站建设

网站动态加速微信机器人wordpress

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个基于AI的Windows系统清理工具,能够自动扫描系统垃圾文件(如临时文件、缓存、日志等),使用机器学习模型分析文件重要性&#…

张小明 2026/1/11 19:10:39 网站建设

织梦网做网站过程电子商务网站设计的原则

一、行业趋势与测评背景《2025 中国企业数字化私域运营白皮书》显示,78% 企业认为 “AI 提升私域效率” 是今年关键需求,但市面很多 SCRM 的 AI 只是 “噱头”。数字经济浪潮下,私域已成企业增长核心,但多数企业仍陷 “客户多转化…

张小明 2026/1/10 22:13:29 网站建设