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

温州网站建设模板下载免费短信营销

温州网站建设模板下载免费,短信营销,网站制作公司怎么赚钱,谷歌网页‌1. 线性栈&#xff08;顺序栈&#xff09;‌ ‌结构定义‌&#xff1a; #include <iostream> using namespace std;#define MAX_SIZE 100 // 预定义最大容量// 线性栈结构体 typedef struct {int* data; // 存储数据的数组int top; // 栈顶指针&…

1. 线性栈(顺序栈)

结构定义‌:
#include <iostream>
using namespace std;#define MAX_SIZE 100  // 预定义最大容量// 线性栈结构体
typedef struct {int* data;        // 存储数据的数组int top;          // 栈顶指针(初始化为-1)int capacity;     // 当前栈的最大容量
} SeqStack;// 初始化栈
void InitSeqStack(SeqStack& S) {S.data = new int[MAX_SIZE];S.top = -1;S.capacity = MAX_SIZE;
}// 销毁栈(释放内存)
void DestroySeqStack(SeqStack& S) {delete[] S.data;S.top = -1;S.capacity = 0;
}

常见操作‌:
// 入栈
bool PushSeqStack(SeqStack& S, int x) {if (S.top == S.capacity - 1) {// 栈满时自动扩容(示例中扩容为原大小的2倍)int newCapacity = S.capacity * 2;int* newData = new int[newCapacity];for (int i = 0; i <= S.top; i++) {newData[i] = S.data[i];}delete[] S.data;S.data = newData;S.capacity = newCapacity;}S.data[++S.top] = x;  // 栈顶指针先增1,再赋值return true;
}// 出栈
bool PopSeqStack(SeqStack& S, int& x) {if (S.top == -1) {cout << "栈空,无法出栈!" << endl;return false;}x = S.data[S.top--];  // 先取栈顶元素,再减1return true;
}// 取栈顶元素
bool GetTopSeqStack(SeqStack& S, int& x) {if (S.top == -1) return false;x = S.data[S.top];return true;
}// 判空
bool IsEmptySeqStack(SeqStack& S) {return S.top == -1;
}

2. 链栈

结构定义‌:
#include <iostream>
using namespace std;// 链栈节点结构体
typedef struct LinkNode {int data;struct LinkNode* next;
} LinkNode;// 链栈结构体(通过头指针管理)
typedef struct {LinkNode* top;   // 栈顶指针
} LinkStack;// 初始化栈
void InitLinkStack(LinkStack& S) {S.top = NULL;    // 初始化为空栈
}// 销毁栈(释放所有节点)
void DestroyLinkStack(LinkStack& S) {LinkNode* p = S.top;while (p) {LinkNode* tmp = p;p = p->next;delete tmp;}S.top = NULL;
}
常见操作‌:
// 入栈
bool PushLinkStack(LinkStack& S, int x) {LinkNode* newNode = new LinkNode;if (!newNode) {cout << "内存分配失败!" << endl;return false;}newNode->data = x;newNode->next = S.top;  // 新节点指向原栈顶S.top = newNode;        // 更新栈顶指针return true;
}// 出栈
bool PopLinkStack(LinkStack& S, int& x) {if (!S.top) {cout << "栈空,无法出栈!" << endl;return false;}LinkNode* tmp = S.top;    // 保存栈顶节点x = tmp->data;           // 取栈顶数据S.top = S.top->next;     // 更新栈顶指针delete tmp;              // 释放旧栈顶节点return true;
}// 取栈顶元素
bool GetTopLinkStack(LinkStack& S, int& x) {if (!S.top) return false;x = S.top->data;return true;
}// 判空
bool IsEmptyLinkStack(LinkStack& S) {return S.top == NULL;
}

3. 对比总结

特性线性栈(顺序栈)链栈
存储结构数组(连续内存)链表(离散内存)
内存分配静态预分配(可动态扩容)动态分配节点(按需增减)
入栈操作data[++top] = x(可能需扩容)创建新节点并调整指针
出栈操作top--(无需释放内存)释放节点内存
空间复杂度O(n)O(n)(预分配空间)O(n)O(n)(每个节点含指针域)
内存管理整体一次性分配/释放逐个节点分配/释放
适用场景数据量固定或可预估数据量动态变化,内存需求不确定

通过代码对比可以清晰看出:

  • 线性栈‌适合‌确定容量‌或需要‌快速随机访问‌的场景(如函数调用栈)。
  • 链栈‌适合‌动态数据量‌或需要‌灵活内存管理‌的场景(如递归算法)。

文章转载自:

http://ZiWaxbBp.chyrx.cn
http://Tn1nS5YF.chyrx.cn
http://uj4AUon0.chyrx.cn
http://FK58fikd.chyrx.cn
http://uxjujnQo.chyrx.cn
http://U0TVnV8L.chyrx.cn
http://wxCIoPac.chyrx.cn
http://GKIuTxlZ.chyrx.cn
http://wxkFjBWE.chyrx.cn
http://0S7SCex8.chyrx.cn
http://GJr0nf9E.chyrx.cn
http://z8SdP2wS.chyrx.cn
http://LuPMxrJV.chyrx.cn
http://kAcg9McN.chyrx.cn
http://eMPlA0gH.chyrx.cn
http://86UrmDJ9.chyrx.cn
http://ftd6GC6u.chyrx.cn
http://OLDotqHb.chyrx.cn
http://N41oUMi6.chyrx.cn
http://NPKqEEgz.chyrx.cn
http://E9xGNJOC.chyrx.cn
http://SFuw6imJ.chyrx.cn
http://1zNVT19D.chyrx.cn
http://67hoN6bg.chyrx.cn
http://4lRnmtmb.chyrx.cn
http://qQWVLiy5.chyrx.cn
http://ZJDyFsKM.chyrx.cn
http://6sf0kXsV.chyrx.cn
http://urYVl447.chyrx.cn
http://pQsaTFdC.chyrx.cn
http://www.dtcms.com/wzjs/722340.html

相关文章:

  • 做网站时用插件需要注明吗莱芜seo
  • 怎样做已有网站的编辑维护什么网站专门做境外当地游
  • 竹子建站下载西安西郊网站建设
  • 网站建设方案文档济南响应式网站建设
  • qq浏览器收录网站提交入口千阳做网站
  • 做微网站需要域名吗如何加强企业网站建设论文
  • 建设包银行官方网站百度关键词热度
  • 天津网站建设公司排名网站建设结构图
  • 廊坊哪里有做网站建设的软件开发需要哪些软件
  • 做网站所需知识网站域名续费多少钱
  • 什么系统做购物网站好购物中心设计
  • 网站源码com大全个人网站html模板下载
  • 合肥建网站公司地址近的中医小程序定制
  • 旅游门户网站建设方案包装公司logo设计
  • 成都交投成高建设公司网站做部队网站技术
  • 做网站是自己公司做好还是外包好html教程网
  • 成都建设网站的公司有哪些哪个推客平台最好
  • 展示网站如何做二级网站建设管理制度
  • 网站建设加推广优化中英文企业网站制作
  • seo网站建设接单百度搜索引擎优化指南最新版
  • 昌邑建设网站wordpress google 慢
  • 网站建设费账务处理商品推广软文范例200字
  • 做简单网站后端需要学什么开发网站
  • html5 网站开发定制销售手机网站
  • 给公司做个网站多少钱四川省城乡和住房建设厅网站
  • 网站已改版网站推广软文代发
  • 基于html5的旅游网站的设计优秀国内个人网站网址
  • 住房和城建设网站wordpress修改访问量
  • 做啥网站桥头网站建设
  • 网站开发一般要哪些开发工具国家企业信息信用信息公示网山东