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

网站建设服务器在国外如何打击公司网页制作哪家好

网站建设服务器在国外如何打击,公司网页制作哪家好,中国科技成果,公司网站设计制作长沙文章目录 一、堆栈1. 定义2. 基本操作 二、顺序栈0. 顺序表1. 头文件和常量2. 栈结构体3. 栈的初始化4. 判断栈是否为空5. 判断栈是否已满6. 入栈7. 出栈8. 查看栈顶元素9. 清空栈10. 主函数11. 代码整合 堆栈Stack 和 队列Queue是两种非常重要的数据结构#xff0c;两者都是特… 文章目录 一、堆栈1. 定义2. 基本操作 二、顺序栈0. 顺序表1. 头文件和常量2. 栈结构体3. 栈的初始化4. 判断栈是否为空5. 判断栈是否已满6. 入栈7. 出栈8. 查看栈顶元素9. 清空栈10. 主函数11. 代码整合 堆栈Stack 和 队列Queue是两种非常重要的数据结构两者都是特殊的线性表 对于堆栈所有的插入和删除以至几乎所有的存取都是在表的同一端进行对于队列所有的插入都是在表的一端进行所有的删除以至几乎所有的存取都是在表的另一端进行。 一、堆栈 1. 定义 堆栈简称栈是一种操作受限的线性表只允许在表的同一端进行插入和删除操作且这些操作是按后进先出的原则进行的。进行插入和删除的一端被称为栈顶另一端被称为栈底。当栈中无元素时称其为空栈。根据上述定义每次删除退栈的总是最后插入进栈的元素。 如图所示的堆栈中诸元素以a1a2a3a4a5的顺序进栈而退栈的次序则是a5a4a3a2a1。 也就是说从栈中取走元素是按后进先出的原则进行的因此栈又被称作后进先出Last in First Out的线性表简称为LIFO表。 2. 基本操作 堆栈是受限的线性表其基本操作包括 push ( ) : 压入一个元素插入pop ( ) : 弹出一个元素删除peek ( ) : 存取栈顶元素值clear ( ) : 清空栈IsEmpty ( ) : 判断栈是否为空 同普通线性表一样堆栈也可以用顺序存储和链接存储两种方式来实现 二、顺序栈 用顺序存储方式实现的堆栈称为顺序栈。 顺序栈用数组存放栈元素可方便地进行各种栈操作某一堆栈的规模指该堆栈最多能容纳的元素个数存放堆栈的数组规模或大小应按堆栈的规模来确定 当堆栈中元素的个数达到堆栈规模简称为栈满时则无法再向堆栈插入元素换言之此时的插入操作将产生上溢出。 如何确保既不上溢也不下溢 需要一个整型变量size来存放数组规模以及一个整型变量top来存放栈顶元素在数组中的位置下标 当栈为空时top值为0每入栈或出栈一个元素top值加1或减1当top等于size时说明栈满 0. 顺序表 参考前文顺序表及其基本操作 1. 头文件和常量 #include stdio.h#include stdlib.h#define MAX_SIZE 100两个头文件 stdio.h用于输入输出操作stdlib.h用于内存分配和释放 通过#define指令定义了一个常量MAX_SIZE它表示栈的最大容量为100。 2. 栈结构体 typedef struct {int data[MAX_SIZE];int top;} Stack;使用结构体定义了一个栈的数据结构data是一个整型数组用于存储栈中的元素top表示栈顶的索引。 3. 栈的初始化 void init(Stack* stack) {stack-top -1;}初始化栈将栈顶索引top置为-1表示栈为空。 4. 判断栈是否为空 int isEmpty(Stack* stack) {return stack-top -1;}判断栈是否为空如果栈顶索引top等于-1表示栈为空函数返回1否则返回0。 5. 判断栈是否已满 int isFull(Stack* stack) {return stack-top MAX_SIZE - 1;}isFull函数用于判断栈是否已满如果栈顶索引top等于MAX_SIZE - 1表示栈已满函数返回1否则返回0。 6. 入栈 void push(Stack* stack, int value) {if (isFull(stack)) {printf(Stack is full. Cannot push element.\n);return;}stack-data[stack-top] value;}push函数用于将元素入栈首先判断栈是否已满如果已满则打印错误信息并返回否则将元素存储在栈顶索引top的位置并将栈顶索引加1。 7. 出栈 int pop(Stack* stack) {if (isEmpty(stack)) {printf(Stack is empty. Cannot pop element.\n);return -1;}return stack-data[stack-top--];}pop函数用于将栈顶元素出栈首先判断栈是否为空如果为空则打印错误信息并返回-1否则返回栈顶元素的值并将栈顶索引减1。 8. 查看栈顶元素 int peek(Stack* stack) {if (isEmpty(stack)) {printf(Stack is empty. Cannot peek element.\n);return -1;}return stack-data[stack-top];}peek函数用于查看栈顶元素的值首先判断栈是否为空如果为空则打印错误信息并返回-1否则返回栈顶元素的值。 9. 清空栈 void clear(Stack* stack) {stack-top -1;}clear函数用于清空栈将栈顶索引top置为-1表示栈为空。 10. 主函数 int main() {Stack stack;init(stack);push(stack, 10);push(stack, 20);push(stack, 30);printf(Top element: %d\n, peek(stack));printf(Popped element: %d\n, pop(stack));printf(Popped element: %d\n, pop(stack));printf(Is stack empty? %s\n, isEmpty(stack) ? Yes : No);clear(stack);printf(Is stack empty? %s\n, isEmpty(stack) ? Yes : No);return 0; }声明一个Stack类型的变量stack然后调用init函数对栈进行初始化。 使用push函数将元素10、20和30依次入栈。 使用peek函数查看栈顶元素的值。 使用pop函数将栈顶的两个元素出栈。 使用isEmpty函数判断栈是否为空。 调用clear函数清空栈。 再次使用isEmpty函数判断栈是否为空。 11. 代码整合 #include stdio.h #include stdlib.h#define MAX_SIZE 100typedef struct {int data[MAX_SIZE];int top; } Stack;void init(Stack* stack) {stack-top -1; }int isEmpty(Stack* stack) {return stack-top -1; }int isFull(Stack* stack) {return stack-top MAX_SIZE - 1; }void push(Stack* stack, int value) {if (isFull(stack)) {printf(Stack is full. Cannot push element.\n);return;}stack-data[stack-top] value; }int pop(Stack* stack) {if (isEmpty(stack)) {printf(Stack is empty. Cannot pop element.\n);return -1;}return stack-data[stack-top--]; }int peek(Stack* stack) {if (isEmpty(stack)) {printf(Stack is empty. Cannot peek element.\n);return -1;}return stack-data[stack-top]; }void clear(Stack* stack) {stack-top -1; }int main() {Stack stack;init(stack);push(stack, 10);push(stack, 20);push(stack, 30);printf(Top element: %d\n, peek(stack));printf(Popped element: %d\n, pop(stack));printf(Popped element: %d\n, pop(stack));printf(Is stack empty? %s\n, isEmpty(stack) ? Yes : No);clear(stack);printf(Is stack empty? %s\n, isEmpty(stack) ? Yes : No);return 0; }
http://www.hkea.cn/news/14451286/

相关文章:

  • 浙江省住房和城乡建设局网站网站如何引导
  • 装修设计网站免费成品软件网站大全推荐
  • 如何做自己微网站国际学校网站建设
  • 南昌网站建设赣icp南昌wordpress告白墙
  • 郑州做网站优化的公司黑马程序员学费
  • 地方生活门户信息网站源码上国外网站的dns
  • 一级a做爰片付费网站有什么页游传奇平台好
  • 徐州网站建设photoshop软件
  • 网站建设的需求怎么写吉林电商网站建设
  • 做外贸网站网络网站网站怎么做的
  • 哪些网站可以做免费外贸开封网站优化公司
  • 齐河网站建设中小企业网站制作价格
  • 下列关于网站开发中网站上传做网站用vs还是dw
  • 网站域名 空间 是每年都要缴费吗网站构成要素
  • 池州建行网站一流的苏州网站建设
  • 做个电商网站多少钱网站静态化怎么做
  • 免费设计app的网站建设淘宝网站的建设情况
  • 建设银行杭州纪念币预约网站长沙网站设计流程
  • 为什么要做营销型的网站建设广州网站建设50强名单
  • 网站空间配置东莞哪里有做网站的
  • 做网站想要中立设计专业干货推荐网站
  • 微信手机网站三合一画册设计免费模板
  • 做医美设计的网站刷关键词指数
  • 朔州网站建设收费多少福州做公司网站
  • 搜搜网站收录wordpress .htaccess在哪里
  • 网站建设的工作描述自己怎么做装修网站
  • 自己做图片网站房子竣工验收在哪个网站查
  • 做全屏式网站尺寸是多大网站建设的成本有哪些方面
  • 南庄营销网站建设注册公司需要几个人员
  • 个人网站做app上传公司网站建设意见征集