当前位置: 首页 > news >正文

网站开发职业资格证书wordpress搜索框删除

网站开发职业资格证书,wordpress搜索框删除,建设网站步骤是,wordpress 锚点1.前言 哈喽大家好啊#xff0c;今天博主继续为大家带来数据结构与算法的学习笔记#xff0c;今天是关于栈和队列#xff0c;未来博主会将上一章《顺序表与链表》以及本章《栈与队列》做专门的习题应用专题讲解#xff0c;都会很有内容含量 #xff0c;欢迎大家多多支持今天博主继续为大家带来数据结构与算法的学习笔记今天是关于栈和队列未来博主会将上一章《顺序表与链表》以及本章《栈与队列》做专门的习题应用专题讲解都会很有内容含量 欢迎大家多多支持你的鼓励是我最大的动力我们码上见 2.正文 2.1栈 2.1.1结构定义 栈是一种特殊的线性数据结构它的操作顺序是后进先出。栈只允许在栈顶进行元素的插入入栈和删除出栈操作而栈底则通常不直接访问。 2.1.2特点 后进先出最后进入栈的元素会最先被取出。操作限制只能在栈顶进行数据的添加和删除操作。应用场景常用于管理函数调用的返回地址、表达式求值、括号匹配等。 2.1.3基本操作 入栈Push将元素添加到栈顶新元素成为栈顶元素。出栈Pop从栈顶移除元素栈顶指针下移之前的栈顶元素不再可访问。获取栈顶元素Peek/Top查看栈顶元素的值但不移除它。判断栈是否为空如果栈中没有元素则栈为空。获取栈的大小返回栈中元素的数量。栈的初始化为栈分配初始空间并设置栈顶指针。栈的销毁释放栈所占用的空间。 2.1.4栈的俩种实现方式 栈的实现方式主要有两种基于数组的顺序栈和基于链表的链式栈。顺序栈利用一组地址连续的存储单元存放数据元素并通过一个栈顶指针来指示当前栈顶元素的位置。链式栈则通过链表来实现其中链表的头部或尾部作为栈顶。 2.2队列 2.2.1结构定义 队列是一种遵循先进先出原则的数据结构。它只允许在一端队尾进行元素的插入入队而在另一端队头进行元素的删除出队。 2.2.2特点 基本包含的元素size指容量head头指针tail尾指针 先进先出FIFO队列中的元素必须按照它们进入队列的顺序离开队列。这是队列最重要的特性。 只允许在队尾插入元素新元素必须添加到队列的末尾这称为入队操作。 只允许在队头删除元素只能删除队列最前面的元素这称为出队操作。 额外注意队尾的指针是一个空指针是不指向任何元素的。 2.2.3队列的假溢出以及循环队列 队列假溢出出现原因队列假溢出是指在用数组模拟的顺序队列中尽管队列中实际还有空闲位置但由于队尾指针已经指向了数组的最大下标位置而队头指针并未指向数组的最小下标的前一位置此时若尝试进行入队操作则会出现上溢现象即无法将新元素加入队列但实际上队列并未真正存满。这种现象就被称为队列的假溢出。 解决方法创建循环队列即当队尾指针到达数组的末尾时它会回到数组的开头继续移动。在循环队列中可以通过判断队尾指针的下一个位置与队头指针的相对关系来确定队列是否已满或为空。具体地如果 (rear1)%MAXSIZEfront则队列满如果 frontrear则队列空。其中MAXSIZE是队列的最大容量。 2.2.3队列顺序表的实现 #include stdio.h #include stdlib.h #include time.htypedef struct vector {int size, count;int *data;//总大小,元素数量 //指针指向连续的存储区 } vector; //初始化 vector *getNewVector(int n) {vector *p (vector *)malloc(sizeof(vector));p-size n;//存储上限p-count 0;p-data (int *)malloc(sizeof(int) * n);return p; }int expand(vector *v) {if (v NULL) return 0;printf(expand v from %d to %d\n, v-size, 2 * v-size);int *p (int *)realloc(v-data, sizeof(int) * 2 * v-size);if (p NULL) return 0;v-data p;v-size * 2;return 1; } //插入操作 int insert(vector *v, int pos, int val) {if (pos 0 || pos v-count) return 0;if (v-size v-count !expand(v)) return 0;for (int i v-count - 1; i pos; i--) {v-data[i 1] v-data[i];}v-data[pos] val;v-count 1;return 1; } //销毁操作 int erase(vector *v, int pos) {if (pos 0 || pos v-count) return 0;for (int i pos 1; i v-count; i) {v-data[i - 1] v-data[i];}v-count - 1;return 1; }void output_vector(vector *v) {int len 0;for (int i 0; i v-size; i) {len printf(%3d, i);}printf(\n);for (int i 0; i len; i) printf(-);printf(\n);for (int i 0; i v-count; i) {printf(%3d, v-data[i]);}printf(\n);printf(\n\n);return ; } //删除操作 void clear(vector *v) {if (v NULL) return ;free(v-data);free(v);return ; }int main() {srand(time(0));#define MAX_OP 20vector *v getNewVector(2);for (int i 0; i MAX_OP; i) {int op rand() % 4, pos, val, ret;switch (op) {case 0:case 1:case 2:pos rand() % (v-count 2);//为了可以看到插入到非法位置时程序的反应val rand() % 100;ret insert(v, pos, val);printf(insert %d at %d to vector %d\n, val, pos, ret);break;case 3:pos rand() % (v-count 2);ret erase(v, pos);printf(erase item at %d in vector %d\n, pos, ret);break;}output_vector(v);}clear(v);return 0; } 2.2.4队列链表的实现 #include stdio.h #include stdlib.h #include time.h#define DL 3 #define STR(n) #n #define DIGIT_LEN_STR(n) % STR(n) dtypedef struct Node {int data;struct Node *next; } Node;Node *getNewNode(int val) {Node *p (Node *)malloc(sizeof(Node));p-data val;p-next NULL;return p; }Node *insert(Node *head, int pos, int val) {Node new_head, *p new_head, *node getNewNode(val);new_head.next head;for (int i 0; i pos; i) p p-next;node-next p-next;p-next node;return new_head.next; }void clear(Node *head) {if (head NULL) return ;for (Node *p head, *q; p; p q) {q p-next;free(p);}return ; }void output_linklist(Node *head, int flag 0) {int n 0;for (Node *p head; p; p p-next) n 1;for (int i 0; i n; i) {printf(DIGIT_LEN_STR(DL), i);printf( );}printf(\n);for (Node *p head; p; p p-next) {printf(DIGIT_LEN_STR(DL), p-data);printf(-);}printf(\n);if (flag 0) printf(\n\n);return ; }int find(Node *head, int val) {Node *p head;int n 0;while (p) {if (p-data val) {output_linklist(head, 1);int len n * (DL 2) 2;for (int i 0; i len; i) printf( );printf(^\n);for (int i 0; i len; i) printf( );printf(|\n);return 1;}n 1;p p-next;}return 0; }int main() {srand(time(0));#define MAX_OP 7Node *head NULL;for (int i 0; i MAX_OP; i) {int pos rand() % (i 1), val rand() % 100;printf(insert %d at %d to linklist\n, val, pos);head insert(head, pos, val);output_linklist(head);}int val;while (~scanf(%d, val)) {if (!find(head, val)) {printf(not found\n);}}clear(head);return 0; } 3.小结 今天的分享到这里就结束了哦数据结构与算法的学习真是让人受益匪浅就是有点费脑子哈哈哈大家一起加油如果大家有帮助的话不要忘了点点关注点点赞哦。
http://www.eeditor.cn/news/118806/

相关文章:

  • 网站页面布局优化广州seo顾问
  • 深圳做棋牌网站建设多少钱深圳网络推广哪家公司好
  • 设计成功一个电子商务网站吴江微信网站制作
  • 广州企业如何建网站华为云企业邮箱登录入口
  • 个人可以做网站么莱芜在线话题凤城高中
  • 给个网站做导航违法吗校园网二级网站的建设
  • 设计接单网站大全宁波seo哪家最便宜
  • 济南美赞网站建设公司电工培训
  • 网站建设公司哪里找做试管的网站
  • 如何申请免费的网站空间做业务一般要注册哪些网站
  • 网站电线电话图怎么做什么是ui设计效果图
  • 装饰设计乙级资质承接范围合肥seo整站优化
  • 泳衣服饰东莞网站建设博物馆网站建设
  • dedecms建手机网站个人网页制作实验报告
  • 建筑网站、导航栏网站模板特效
  • 网站开发语言开发厨师培训机构 厨师短期培训班
  • xml网站地图每天更新做网站淘汰了
  • 石家庄网站建设咨询薇在工行网站上如何做现金理财
  • 网站开发需求用什么软件app开发公司费用
  • 邯郸营销网站建设营销培训学院
  • 广州好的网站设计公司如何填写网站建设计划表
  • 重庆网站优化网络服务中投建设官方网站
  • 网站开发的经验做论坛网站好吗
  • 汉中网站建设哪家好木质家居 技术支持 东莞网站建设
  • 空间查看网站山东德州最大的网站建设教学
  • 做软装什么网站可以wordpress如何导出数据字典
  • 做英语网站网站备案负责人 更换
  • 哪里可以做营销型网站自适应网站制作教程
  • 保定附近的做网站价格南通网站seo报价
  • 建设课程网站的目的哪里有做配音的兼职网站